I am having difficulty running multiple instances of the same pipeline simultaneously. Once one instance is running, it doesn't seem to allow another one to be triggered until the current instance has completed. I have the setting "Automatic pipeline locking" unselected, so I'd expect that it would allow simultaneous execution.
Are there other settings that impact the ability to run simultaneously?
Comment
Hi Kirk
One constraint i can think of that could stop multiple executions is the number of available agents. Do you have more than one agent with suitable resource and environment settings that can pick up this pipeline? if not then Go will wait until the agent is free before triggering the pipeline properly.
Hi Kirk,
Do you have only one stage in the pipeline?
If so, then yes, you will not be able to execute pipeline instances parallely, because Go cannot be running the same stage in more than one pipeline instances parallely.
Thanks for the comment -- very helpful. I have two stages so far in my experimental pipeline. It turns out it does let me start another pipeline instance as long as the currently executing one is on the second stage. Thanks.
This makes me wonder why it doesn't allow a given stage to execute in parallel. Take the example where your first stage is a commit build that takes approximately three minutes to run. If you want this to run for each change set, it would seem that builds would soon back up.
It looks like this post already discusses the issue of parallel stage execution.