System variables documentation

Do you have any documentation for all the system variables? I saw this [System variables] ( link, but I couldn’t find all the variable descriptions like Octopus.Acquire.MaxParallelism , Octopus.Action.Script.ScriptBody and so on.

Also, I have few other questions

  1. What is the difference between Action and Step?

  2. How do I get the overall Deployment status? If any one of step is failure I need the provision to roll back the deployment.
    For example: I set up 5 steps for a deployment separate out a steps Code and DB deployment, If any one of the steps fails, I need to rollback the whole deployment.

  3. Has Octopus support other than .net applications such as C++?
    We have one C++ application which runs on Linux server. I saw your one of the road map items supporting for Linux server.I am finding the solution for this scenario too.


Thanks for getting in touch! Sorry about the delay in getting back to you here.
Octopus.Acquire.MaxParallelism is listed on the bottom of that page, but you are right our documentation is a little lacking in the variables department.
We have been considering ways to automate its production as they are extensive. It’s on the list of things to do.

To answer your specific questions.

  1. All steps are actually considered ‘Actions’, things to do, and when you create a child step within a step, all of the child steps are also actions, but the overall step is the ‘step’ like a wrapper around them, as it doesn’t perform any actions only the child step does.
  2. Checking that the following value Octopus.Deployment.Error does not have a value is the only way to check if the deployment did not error as a whole. One of the reason we do not provide an overall deployment status is because it cannot exist until after the deployment has completed, even if called during the last step, can we assume the deployment was successful if it hasn’t yet errored?
  3. As of this very moment, Octopus can only deploy to Windows machines. Anything that can be put in a package can be deployed, so you could package a C++ application, but you could not deploy it to Linux unless you wrote your own custom PowerShell. Very soon, as in the next major release Linux deployments will be possible - but even beta testing is a while away, let alone pre-release. 2 months would be a good estimate.

I noticed this thread is private, do you have any objections to it being public? This information might be of value to others in the community. Thanks!

Hope that helps!