I found some discussions on parallel rolling deployment with child steps. My situation is simpler, and maybe I can find a simple answer.
Let’s assume I have three steps:
- Deploy Service 1
- Deploy Service 2
- Deploy Service 3
Each one is deployed on the same set of five machines:
- Host 1
- Host 2
- Host 3
- Host 4
- Host 5
Services are absolutely independent of each other, so they can be deployed in parallel. I can choose “Run in parallel with the previous step” in deployment process settings, and all 3*5 = 15 deployments happen simultaneously (OctopusBypassDeploymentMutex is set to True).
But things get weird when I turn on rolling deployment. I expect each service to be deployed on one host at a time. Services are still independent of each other, so they can be deployed in parallel:
- (Service1 to Host1) + (Service2 to Host1) + (Service3 to Host1)
- (Service1 to Host2) + (Service2 to Host2) + (Service3 to Host2)
…
Instead, parallelism is entirely gone:
- (Service1 to Host1)
- (Service1 to Host2)
… - (Service2 to Host1)
- (Service2 to Host2)
…
As you can see, this is much slower. Do you have any solution for my problem?