Octopus deploying docker images on service fabric

Hi there,
We currently have dotnet core microservices which are built into Docker images with Jenkins and pushed into a common Docker repo on Azure. The idea is then to use Octopus Deploy to pull these docker images from the repo and deploy to our service fabric cluster.

I have tried both Octopus locally and the cloud setup but run into different challenges with each.

With the local deployment on my windows 10 laptop, I have Octopus reporting it can connect to the docker repo with username/password and successfully connecting to service fabric using secure certs. However when I try to kick off a deployment, the deploy fails as soon as Octopus tries to pull the docker image from the repo with the following message:

Deploy deploy dev release 0.0.1 to service fabric
The deployment failed because one or more steps failed. Please see the deployment log for details.
Acquire packages
The step failed: Activity failed with error ‘The Docker Registry v2 ‘jenkins docker repo’ at https://jenkins.vmduk.net does not support downloading packages on the Octopus Server.’.

I’ve tried an alternate repo but get the same error message, a manual pull from the repo on the command line has no problems. At this point I created a cloud Octopus account. I had even less luck with this, as although it was happy to connect to the docker repo, it failed to connect to our service fabric cluster using exactly the same configuration as the local account. I’ve made sure that there’s no firewall in the way but it just refuses to connect.

Any help would be appreciated

Hi Matt, thanks for reaching out.

The Azure steps in Octopus do not currently support pushing Docker images as they do other types of packages. Adding support for this is on our radar, but today you will run into the issues you have described.

One alternative that can be used today is to use the new multiple packages feature that was added in 2018.8 to reference a Docker image in a Run an Azure PowerShell Script step. The blog post at https://octopus.com/blog/script-step-packages goes into some detail about how these packages can be referenced from a script. However the downside to this approach is that you’ll have to script the deployment yourself using the Azure CLI.

If Docker support in Service Fabric is something that your team would benefit from, I would suggest adding a UserVoice suggestion at https://octopusdeploy.uservoice.com/, as we often use the votes for these issues as a way of prioritizing work.

Regards
Matt C