Deployments

Great deployments are stress-free deployments. They should be non-events that ‘just work’ without the need for sign-off from multiple gatekeepers.

You can use Octopus to deploy anything, anywhere. Whether it’s Kubernetes, Linux, or Windows virtual machines, Amazon Web Services, Azure, or Google Cloud, if Octopus can speak to it via our Tentacle agent, SSH, command-line, or a web service, Octopus can deploy to it.

Why deploy with Octopus?

Octopus models deployments in advanced ways, letting you tame complexity at scale.

Octopus is about more than just automating your existing deployment process. It has features that streamline the complex aspects of deployments, where manual and scripted deployments often fail.

Deploying software with Octopus involves packaging your applications and configuring your infrastructure. With those two completed, you’ll use the following features to complete your deployment setup in Octopus.

Deployment process

The Octopus deployment process lets you define all the tasks needed to deploy your software. The process acts like a deployment checklist, making sure each task gets completed before proceeding to the next one.

Critically, unlike a manual checklist, Octopus never forgets to run a step and always completes them in the correct order.

Octopus deployment process

Steps

Octopus provides a library of pre-built step templates for deployment tasks, offering a simpler configuration experience by separating scripts and API calls. These steps can be easily added to processes, with configurations allowing for conditions based on environments, channels, previous steps, or package acquisition. Options include running steps in parallel or sequence, setting time limits, and configuring retries for failed steps.

Octopus process step templates

There’s also a community library with over 500 step templates, so you can complete tasks without coding. You can still create custom script steps or develop your own custom step templates for use across projects.

Guided failure mode and step retries

You can configure deployments to fail in Octopus when there’s an error. Guided failure mode and step retries are alternative options to outright failing the deployment.

Guided failure mode pauses the deployment when a step fails and lets you retry the failed step (after fixing any errors if needed), skip it, or fail the deployment.

When switched on, step retries re-attempts to run the failed step 3 times before it gives up and fails the deployment. This is useful when there’s a temporary network issue and the destination is temporarily unavailable.

Variables

Octopus variables let you apply the correct variables easily during a deployment. Octopus can manage simple values, secrets, and accounts as variables.

Octopus variables

You can scope variables by:

  • Environments
  • Deployment target roles
  • Deployment targets
  • Deployment processes and steps
  • Channels

Releases

A release in Octopus is a snapshot of the deployment process and assets at creation, ensuring consistency in deployments. Changes to assets don’t affect existing releases.

Tenant variables get excluded, so it’s easier to onboard new tenants without needing a new release.

Getting started with deployments

Use the navigation to discover deployment examples for different types of applications and technologies using Octopus. It also includes common deployment patterns and practices.

Help us continuously improve

Please let us know if you have any feedback about this page.

Send feedback

Page updated on Tuesday, March 19, 2024