We are trying to automate a scaling solution using octopus.
A part of this solution is including virtual servers that can restart from time to time.
When a server boots up it is clean, we automate installation of tentacle and push the current version of some components to it. This is excellent.
But sometimes one of the servers is offline or restarting. When we try to deploy the entire deployment fails.
Looks like it is by design http://help.octopusdeploy.com/discussions/problems/16290-package-uploaded-but-not-delivered-to-custom-install-directory
But we need to push the packages to whatever servers are up.
Is there a good way to achieve this?
Thanks for getting in touch! I believe that the way some of our customers have combated this particular issue is to create a standalone project, that is a PowerShell script, that determines what servers are on or offline and marks them as disabled and activates those that were disabled and offline. It isn’t very elegant, but Octopus does take a list of machines at the start of a deployment, and cannot modify that list while the deployment is active, so a separate project was the only solution.
We are working on an option to allow deployments to happen when a machine in the list is offline by allowing you to continue to deploy to online machines, but that is still a little while away, and doesn’t help you now.
Thanks for the reply, I will try to implement what you describe.
Has the feature you describe been implemented? Or currently does the PowerShell workaround need to be used?
Yep! It was part of 2.6. If you check this blog post it describes the feature a bit: https://octopusdeploy.com/blog/2.6 (Under “Skip Offline Machines”)
Thank you Vanessa, that’s great news.