Solution proposal

I am walking through a solution to do CD with Octopus, but our deployment environment is a little complex.
Currently use Bamboo to do CI and generate zip, war etc. Tester download these package and generate Docker image and deploy them into Hyper-V virtual machine(Ubuntu).

please give us some suggestions how to deploy Docker and Hyper-V with Octopus and Bamboo? thanks

Hi David, thanks for reaching out.

Our recommendation is that Docker images be built by your build tool (Bamboo in this case) and pushed to a shared repository that can be accessed by Octopus. Octopus can then treat this shared repository as an external feed. https://octopus.com/docs/deploying-applications/docker-containers#DockerContainers-HowDockercontainersmaptoOctopusconcepts has more information around how Docker repositories map conceptually to external feeds in Octopus.

Once the image is in a repository, Octopus can then be used to deploy it to a target machine. Given that you are running Ubuntu, this would be a SSH target. https://octopus.com/docs/infrastructure/ssh-targets has documentation on how SSH targets can be configured in Octopus.

You can integrate Bamboo and Octopus using the Bamboo plugin, which is documented at https://octopus.com/docs/api-and-integration/bamboo.

So at a high level the process would look like this:

  1. Build the artifacts (ZIP, WAR etc) in Bamboo
  2. Build and publish the Docker image in Bamboo
  3. Trigger a deployment in Octopus from Bamboo using the plugin.
  4. Octopus consumes the Docker image from the shared repository and deploys it to the targets.

Regards
Matt C

Thanks for your suggestion, it is very helpful for us.

Regards

Weilin

FYI