Features

Powerful DevOps automation

Octopus Deploy makes it easy to automate your deployments and operations runbooks from a single place, helping you ship code faster, improve reliability, and break down dev & ops silos.

Platform Support

Complete your CI/CD pipeline

Deployment is not the last step of your CI process; it's the first step of your application's lifecycle in production. Octopus integrates with your favorite CI server and adds powerful deployment & ops automation capabilities.



Getting started

Incredibly easy to get going

1. Define your deployment process once

Your deployment process tells Octopus how your application will be deployed. It's made of high-level steps that run against groups of deployment targets (virtual machines, Kubernetes namespaces, and more).

The deployment process editor gives you access to over 450 automation step templates that cover a range of technologies and infrastructure, including .NET, Java, Docker, Kubernetes, Tomcat, JBoss, Terraform, Pulumi, database deployments, monitoring solutions, and firewalls. Octopus also includes steps for Slack and email notifications, and can pause deployments for humans to intervene. This allows you to keep everybody informed about the status and pull the right people into the process when they’re needed.

Octopus supports advanced deployment patterns, including rolling, blue-green, canary, and multi-tenancy to support your deployment strategy. This makes it possible to gradually roll out releases, test new features with a subset of your user base, and deploy customer-specific versions of your apps.

2. Configure environments & variables

Variables in Octopus let you use the same deployment process across your environments without hardcoding configuration settings into your process. Octopus can store passwords and other secrets so they can be used in your processes but remain secure and uncompromised.

During deployments, Octopus automatically replaces values in your configuration files - no scripting needed.

Variable values can be scoped to one or many environments, or even to individual targets, steps in your process, or tenants in a multi-tenant application. Variables support filters so the output is exactly what’s needed.

Variables can be shared between projects, deployment processes, and the operations runbooks that keep your software running, giving your team a single source of truth.

3. Deploy and promote with confidence

Octopus understands how real software teams work. Most releases get deployed to dev or test environments, and some get promoted further - eventually into production, when the time is right.

  • Enable self-service dev & test deployments, but limit access to production deployments
  • Guarantee that a release has been tested in a test environment before it's promoted to production
  • Prevent a release from being promoted if a bug is discovered
  • Require approvals before or after a deployment
  • Wait for a human to perform a task that needs to be done manually

Octopus brings the deployment logs into a single central view, even as deployment steps run in parallel, so you'll always know what's happening.

Dashboard

Immediate answers to critical questions

Stop wondering what version of your application is deployed to what environment.

Projects
Development
Test
Production
Storefront CMS
Warehouse API
Integrations

Over 450 steps

Deploy just about anything without scripting. Send Slack notifications, notify monitoring tools of a deployment, upload files to your CDN, run a SQL script – Octopus probably has a deployment step for it. View the full list of templates in the community library.

Runbooks

Your operations control center

Runbooks are those emergency or routine operations tasks that you do to keep your application running. Like deployments, runbooks benefit from automation. Octopus is the first CD tool to add first-class runbook automation.

Automate routine and emergency runbooks

Octopus creates a central location for teams to manage, control, audit, schedule, and execute runbooks. You can see when a runbook was last executed, you can see any changes to the runbook, and you can run the same runbook against different environments. Team members can easily find a runbook and click a big green button to run it. Everyone can see the output from the last run and whether it succeeded or not.

Runbook automation helps teams to automate recovery processes and execute them against their infrastructure. Restart web servers on Windows or Linux, recreate infrastructure, reset caches, clean up files, or anything you can automate in your favorite scripting language.

Any team member with permission can execute the runbook for fast incident recovery without requiring unfettered access to the infrastructure, and a detailed audit log helps meet your compliance needs.

Self–⁠service operations

System administrators and operations teams are often overwhelmed with emails, Slack messages, and help desk tickets asking them to fix problems or perform specific tasks. This is compounded by the increasing complexity of IT environments (Kubernetes, microservices, and more) as well as security and compliance requirements.

Runbook automation helps teams to reduce this burden by automating the most common tasks so teams can run them themselves. Self-service operations enable end-users, development teams, and support staff to independently execute tasks to save time, and it enables operations teams to work on strategic projects instead of busywork.

Configuration as Code

Version control without compromise

Coming soon: Your Octopus deployment process and runbooks can be stored in Git, and you can even work on different branches, all from within the UI.

Keep using the UI

Unlike other CI/CD tools that embrace configuration as code, in Octopus, the UI still works. That makes it accessible for anybody on your team, even when working on branches.

  feature-branch  
URL
https://#{PublicUrl}/
Expected code
200
Expected response
 
Timeout (seconds)
60
SAVE

Configuration is saved as HCL to Git

We use HCL to store the configuration, like Terraform. You can edit the code directly in Git, but you don't have to. In fact, you'll probably never need to.

http_test_url "Test status page" {
    url = "https://#{PublicUrl}/"
    expected_code = "200"
    expected_response = ""
    timeout_seconds = "60"
}
Oops, fix typo!
Ben  ben  committed 2 days ago
Check for "SUCCESS" in reponse text
Ben  ben  committed 2 days ago
Adjust timeout to allow longer response
Sarah  sarah  committed 3 days ago
Use dedicated status page
Sarah  sarah  committed 5 days ago
Check webserver responds before continuing deployment
Mike  mike  committed 6 days ago

Changes are committed to the Git repository, and can be synchronized with GitHub or other external repositories. You can track changes, merge branches, and view diffs with your favorite Git tooling.

Approach

Opinionated software

We know what good deployment & runbook automation should look like, and we've formed many opinions on this over the 8 years we've been helping customers. Octopus embodies these opinions and principles.

Build once

You want to guarantee that what you tested last week is the same thing that you're deploying to production today. You don't want to recompile or resolve dependencies in between that, as it introduces risk.

Process consistency

You deploy to dev & test more often than production. By reusing the same deployment process between environments, and treating differences as exceptions rather than the rule, production deployments are far more likely to succeed.

Try, try again

Most build/CI servers follow the "fail early, fail fast principle". For deployments, you want the opposite! If something happens during a production deployment, you want to keep going and do the best you can, or ask for a human to intervene.

No YAML

Many DevOps tools today assume everyone on your team has coding skills. The high-level deployment steps in Octopus and the friendly user experience means everybody can understand how the deployment works and even contribute to it, without needing to become YAML experts.

Minimize downtime

Everything in Octopus is designed to help minimize downtime as much as possible during a deployment. Use advanced deployment patterns like blue-green, canary or rolling deployments to keep downtime to a minimum. In single-server environments, Octopus tries to do as much as can be done ahead of time, to keep the maintenance window as short as possible.

Flexibility

The opinions and built-in functionality in Octopus are designed to make you productive, but they might not work for everyone. We've built plenty of escape hatches, from options to change the default behaviors, to running custom scripts in your deployment process, to a comprehensive API that does everything the UI can do.

VIRTUAL MACHINES

On-prem like a boss

When it comes to deploying software to virtual machines, Octopus Deploy is in a league of it's own. Whether they are on-premises, in a managed data center, or in a private cloud, our Tentacle agent makes deployments to VM's easy.

Cross platform & secure

The Tentacle agent is available for Windows or Linux. All communication happens over TLS, and authentication happens using client and server certificates, establishing a two-way trust relationship. Alternatively, Octopus speaks fluent SSH.

Push or pull

Tentacle can be set up either in listening mode (like SSH or PowerShell remoting), or polling mode (like RabbitMQ or Jenkins build agents). This gives you full control when it comes to firewalls and how Octopus interacts within your network.

Learn more

Remote delta compression for faster deployments

Delta compression speeds up the package acquisition phase of your deployments, especially when the limiting factor is transfer bandwidth. Instead of pushing complete packages to remote machines, Octopus can usually just send a small patch, without you needing to do anything different in your build process.

Learn more

Proxies and advanced network topologies

Octopus and Tentacle communicate over HTTPS, and can navigate proxy servers. That makes it possible to use Octopus across DMZ's, or to set up proxy servers as a jump box into a private network. If there's a way to get bits between networks, Octopus and Tentacle can usually find some way to navigate it.

Multi-Tenancy

Manage deployments for customers

Octopus is the only release management, deployment and runbook automation solution with first-class multi-tenancy support, letting you manage deployments to a single customer or a group without duplication.

Project
Applicant Tracking System
Tenants
Development
Test
Production
Untenanted
Initech
Hooli
Globex
Acme
Umbrella
Support

Genuinely helpful support

Email
90%

of responses in 2 hours or less

We're here when you need us!

Get friendly, world-class support from a team of experts near you at no additional cost. Our team is located in the United States, United Kingdom, and Australia, and you'll nearly always get a response within two business hours.

Ready to get started?

Download Octopus Deploy Server, or create a free instance of Octopus Cloud. Our getting started guides will walk you through everything required to deploy your first application.

Get started

Build a tutorial for your stack

Octopus integrates with your existing source control system and build server, and takes care of all of the DevOps automation that happens after a build completes.

Build tutorial