Hi Tom, thank you for suggestion but there might be NLB related problem.
NLB is a server level balancer not site, yes you can turn off server from it with all its sites as result. So imagine that you have two sites and two servers, then what will happen if both sites are deploying same time but first will turn off first server from NLB and second will turn off second server from NLB - then inside NLB will be 0 servers and nothing at all will work
To me it seems that reasonable way might be deploying in specified order always and only if there is no other deployment running at moment in this scenarion - wondering can it be achieved or should it be scripted by hands
Tom Peters on 13 Oct, 2017 12:21 AM
I see the problem you are facing. Because NLB is a server level balancer, you might want to consider separating out your two sites so that they are not sharing the same load balancer. This would mean you could easily deploy both sites independently, even if they are on the same servers.
If that is not a viable solution then yes, you will need to do something more complex to manage the deployments, probably involving custom scripting.
Thank you for advice will try to find workaround without heavy scripting
At least at this stage we can try to remove access to "green button" from everyone except one person who will be responsible for "button click" :) at least it might be a short term solution resolving possible issues with cross fire deployments
Tom Peters on 23 Oct, 2017 12:55 AM
If you have a single Octopus Server node, you can change the Task Cap to 1. Releases are deployed using the Task system in Octopus, so setting this to 1 means that only 1 deployment can occur at once.
This will mean that you can click the green Deploy button while another deployment is running, but it will be enqueued in the Task queue and not run immediately.
I should warn you that this is not something we would usually recommend as it can have adverse performance implications for your Octopus server. There are other operations that Octopus performs that use the Task queue, so having long running deployments will block these system tasks. Similarly, these system tasks may block deployments from running. An example of one of these tasks is the Tentacle health check task.
So if you do make this change, keep in mind that it might cause performance problems later on. I would carefully monitor the Octopus Task log to get a good understanding of what is happening on your Octopus server.