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.
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.
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.
Immediate answers to critical questions
Stop wondering what version of your application is deployed to what environment.
Over 550 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.
Support for cloud, on-premises, and hybrid platforms
Octopus supports your team's entire suite of applications and services running on a variety of infrastructure. From physical and virtual machines through to containers and serverless.
Virtual machines via our Tentacle agent
Cloud
Containers and cloud native
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.
Version control without compromise
Version controlling your projects shouldn't mean working only with code.
Config as Code brings together the power of Git all within the Octopus UI,
so you can choose to work where you're most productive
The power of Git with the usability of Octopus
See your deployment process in your Git repo next to your application code and evolve them together
Branch your code and deployments
Branches are Git's superpower, and we expose that power. Switch branches, or create new ones, in the Octopus UI, or your favorite git client
Iterate and deploy
Commit changes to your deployment process on a branch, and add (optional) commit messages. Create releases directly from branches, and deploy to test your changes. Support multiple versions of your deployment process simultaneously.
Review, approve and merge
Review, approve and merge your branches before you deploy to production. Improve the quality of your releases and reduce downtime from bad deployments.
Work where you’re most productive
Use a text editor or the Octopus UI
We support a rich two-way sync which means your Git repo is the source of truth. You can continue to use the Octopus UI or use your favorite text editor and command line tools.
Visual Studio Code extension
Edit your deployment process configuration files with our VS Code extension to get syntax highlighting, code snippets and an integrated tree for fast navigation.
Get the extensionReady to dive in? Read the Config as Code Docs
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.
On-prem like a boss
When it comes to deploying software to virtual machines, Octopus Deploy is in a league of its own. Whether they are on-premises, in a managed data center, or in a private cloud, our Tentacle agent makes deployments to VMs 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.
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.
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.
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.
Genuinely helpful support
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?
Start a free 30 day trial of Octopus Server or Octopus Cloud, or contact us to discuss your goals and how Octopus Deploy might help.