This setup has been working well, but due to the amount of UI tests we are looking to speed up the testing cycle. The solution has been to create a pool of machines on the QA environment and load balance the tests.
The creating a pool of machines is OK. But the part I need help with is that we will have the capability to deploy to project 1 and 2 in parallel on the dev environment, but only one at a time on the QA environment. Does Octopus have the option to restrict concurrent deploys per environment ? I use TeamCity to control the deploys, is there a known method I can use there ?
Sorry in advance if I’ve misunderstood your query, however, it sounds like what you are after can be achieved by utilizing the system variables to to modify the way Octopus behaves during deployment.
Specifically, Octopus.Action.MaxParallelism as the documentation outlines;
The maximum number of deployment targets on which the action will concurrently execute, and the maximum number of steps which will run in parallel. This value can be set in a project variable to change the default for the project. Additionally you can scope a value to specific actions to control concurrency across your deployment targets. This is the same variable which is set when configuring a rolling deployment. (Number - Default: 10)
I’d recommend having a read through the aforementioned documentation for additional information.
If you require any further assistance or clarification, please let me know