Skip to content

Instantly share code, notes, and snippets.

@erichexter
Last active October 4, 2016 13:42
Show Gist options
  • Save erichexter/587337b7d4001d47f85e1ef72c0a9548 to your computer and use it in GitHub Desktop.
Save erichexter/587337b7d4001d47f85e1ef72c0a9548 to your computer and use it in GitHub Desktop.
proposed docker layering for legacy .net 4.xxx applications using octopus deploy

Container layering

# Name Description
1 WindowsServerCore Made and Versioned by Microsoft
2 App Dependencies IIS/Websockets/ARR/.Net 4.6/VSRuntime...ect - Made and versioned by [My Company] patched adhoc
3 Release Bits for Application Created as part of build process image per release/build.
4 Enviornment / Tenant specific Configuration Contains configuration files for that tenant release combination using octopus variable replacement - Created by Octopus Deploy (because this contains tenant configuration). It is not a onetime process but rather updated as we push out deployments.

Build/CI/Cd Pipeline

  1. Build runs outputs: nuget packages, pushes to octopus server,creates a release, creates docker images #3 from above
  2. Octopus deploys appliction to an environment/tenant combination. Outputs: runs variable transformations and replacements on configuration files. executes a docker build adding those files to a specific folders per deployment package.
  3. Deployment corridnates build of docker images, running migration steps, and running new containers(possibly by delegating to docker datacenter or swarm, ect)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment