Slide 1
Most trusted JOB oriented professional program
DevOps Certified Professional (DCP)

Take your first step into the world of DevOps with this course, which will help you to learn about the methodologies and tools used to develop, deploy, and operate high-quality software.

Slide 2
DevOps to DevSecOps – Learn the evolution
DevSecOps Certified Professional (DSOCP)

Learn to automate security into a fast-paced DevOps environment using various open-source tools and scripts.

Slide 2
Get certified in the new tech skill to rule the industry
Site Reliability Engineering (SRE) Certified Professional

A method of measuring and achieving reliability through engineering and operations work – developed by Google to manage services.

Slide 2
Master the art of DevOps
Master in DevOps Engineering (MDE)

Get enrolled for the most advanced and only course in the WORLD which can make you an expert and proficient Architect in DevOps, DevSecOps and Site Reliability Engineering (SRE) principles together.

Slide 2
Gain expertise and certified yourself
Azure DevOps Solutions Expert

Learn about the DevOps services available on Azure and how you can use them to make your workflow more efficient.

Slide 3
Learn and get certified
AWS Certified DevOps Professional

Learn about the DevOps services offered by AWS and how you can use them to make your workflow more efficient.

previous arrow
next arrow

Octopus Deploy – Run Multiple Processes steps on a Tentacle Simultaneously and Parallel

Spread the Knowledge

For each step that you define in you deployment processes, you can set conditions for greater control over the step’s execution. You can set conditions to:

  • Run the step on specific environments or skip specific environments.
  • Specify which channels the step should run on.
  • Limit when the step runs based on the status of a previous step.
  • Run steps in parallel with a previous step.
  • Specify whether the step runs before or after package acquisition.
  • Make the step a required step that cannot be skipped.

In this post, I am discussing about “Run steps in parallel with a previous step.” using “Start Trigger” If you have more than one step in your deployment process, the Start Trigger option lets you choose between:

Running steps in parallel.
Wait for the previous step to complete, then start.
When you review a process with two steps that run in parallel, you’ll notice two arrows linking the steps that run in parallel.

By default, Octopus will only run one process on each target at a time, queuing the rest. There may be reasons that you need to run multiple, and that’s okay we have a setting for that! Unfortunately running these scripts in parallel as child steps will not work. If your steps are not child steps you are able to set your steps to trigger at the same 30 time instead of sequentially.

OctopusBypassDeploymentMutex must be set at the project variable stage. It will allow for multiple processes to run at once on the target. Having said that, deployments of the same project to the same environment (and, if applicable, the same tenant) are not able to be run in parallel even when using this variable.

Multiple projects
If you require multiple steps to run on a target, by multiple Projects in parallel, you need to add this variable to ALL of your projects.

Caution
When this variable is enabled, Octopus will be able to run multiple deployments simultaneously on the same machine. This can cause deployments to fail if the same file is modified more than once at the same time.

If you use OctopusBypassDeploymentMutex, make sure that your projects will not conflict with each other on the same machine.

Max Parallelism
When enabling OctopusBypassDeploymentMutex there are a couple of special variables that may impact the number of parallel tasks that are run.

Octopus.Acquire.MaxParallelism:
This variable limits the number of package acquisitions that can run simultaneously on the Tentacle.
By default, this is set to 10.
Octopus.Action.MaxParallelism:
This variable limits the maximum number of machines on which the action will concurrently execute.
By default, this is set to 10.

Case
Given five projects with the OctopusBypassDeploymentMutex set as True, True, False, True and True respectively. Then assuming they are started in that order, the first two will run in parallel, but the third will wait until they have finished. The last two will then also be blocked until project three completes at which point they both will run in parallel.

Rajesh Kumar
Latest posts by Rajesh Kumar (see all)
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x