The deployment process is the steps the Octopus Server orchestrates to deploy your software.
You define your deployment processes by creating projects and then adding steps and variables to the project. Each step contains a specific action (or set of actions) that is executed as part of the deployment process each time your software is deployed.
Octopus comes with over 300+ built-in and community-contributed steps templates for deploying just about anything.
After the initial setup, your deployment process shouldn’t change between deployments even though the software being deployed will change as part of the development process, however, you can continue to add and edit steps as your process evolves or your infrastructure changes.
A Hello world deployment process
To define a simple deployment process in the Octopus Web Portal that executes a hello world script on the Octopus Server, complete the following steps:
- Navigate to the Projects tab.
- Select ADD PROJECT.
- Name the project, for instance,
Hello world, and click SAVE.
- Click DEFINE YOUR DEPLOYMENT PROCESS, and click ADD STEP.
- Choose the type of step you’d like to add to filter the available steps: Script.
- Click the Run a Script tile.
- In the process editor, give the step a name, for instance,
Run Hello world script.
- In the execution location section, click Run on the Octopus Server.
- In the script section, paste the following PowerShell script into the Inline Source Code editor:
Write-Host "Hello, World!"
- Click SAVE.
You now have a simple hello world deployment process.
Create a release
- From the project’s overview page, click CREATE RELEASE, and then click Save.
- Click DEPLOY TO TEST, then click DEPLOY.
This will deploy the release. In the task summary, you’ll see the release was deployed to your Test environment, and the step Hello world ran on the deployment target, in this case TWeb01.
This is an example of a very simple process, the following sections go into more detail about each part of the process.
Before you can define how your software is deployed, you must create a project for the deployment process. Projects contain the deployment steps and configuration variables that define how your software is deployed.
Learn more about managing projects.
Lifecycles control how your software is promoted through your environments and which projects are associated with which environments.
Learn more about Lifecycles.
Steps contain the actions your deployment process will execute each time your software is deployed.
Deployment processes can have one or many steps, steps can run in sequence or parallel, in addition to a variety of deployment steps, you can include manual intervention steps to get sign off before deployment, email notification steps to keep everybody informed about your process, or even skip steps under different circumstances.
Learn more about steps.
When you deploy your software, it needs to be configured for the specific environments it will be deployed to. Configuration files let you define custom installation directories, database connections, and other settings that make it possible to deploy your software.
Learn more about configuration features.
Octopus supports variables to make it easier to define application settings for your deployment processes without the need to hardcode them. For instance, you might use different connection strings for apps deployed to Test and Production. Variables let you define these settings and then refer to them by the variable name throughout the deployment process, meaning you don’t have to manually change them between deployments, or even give them much thought after the variables and deployment process have been defined.
Learn more about variables.
You can specify run conditions on the steps that you define to give you greater control over the deployment process.
Learn more about conditions.
In Octopus you create releases to be deployed. Projects have multiple releases and releases can be deployed multiple times to across different infrastructure.
Learn more about releases.
Working with the Octopus API
Octopus Deploy is built API-first, which means everything you can do through the Octopus UI can be done with the API. In the API we model the deployment process the same way, starting at the Project:
- Deployment process
We have provided lots of helpful functions for building your deployment process in the .NET SDK, or you can use the raw HTTP API if that suits your needs better.
Learn about using the Octopus REST API.
Record the HTTP requests made by the Octopus UI to see how we build your deployment processes using the Octopus API. You can do this in the Chrome developer tools, or using a tool like Fiddler.
Help us continuously improve
Please let us know if you have any feedback about this page.
Last updated Sunday, January 1, 2023