Octopus Deploy Documentation

Getting started

Last updated

This section provides a conceptual overview of Octopus Deploy along with step-by-step instructions to help you master the fundamentals of Octopus Deploy whether you are using the self-hosted Octopus Server or Octopus Cloud.

Core Concepts

Octopus Deploy is a deployment tool. It takes the packages and artifacts generated by your build server and deploys them to various targets, be it Windows, Linux, Azure, AWS, or Kubernetes, in a safe and consistent process.

Octopus Server

You can install a self-hosted instance of the Octopus Server or use the hosted version Octopus Cloud. You can get started with either Octopus Server or Octopus Cloud for free.

Consistent deployments and releases

As an Octopus user, you define the process for deploying your applications. You specify the environments the applications are deployed to and who on your team can deploy to which environments. For instance, you might want developers to deploy to dev environments but not testing or production, and members of QA to deploy to test environments but not to production. Taking this approach means that even if different team members trigger deployments, the deployment process remains consistent. After releases have been created, they can be deployed as many times as you need.

Learn more about Deployments in Octopus Deploy.

We have created a step by step guide to completing your first deployment using a sample application.

Infrastructure

Octopus Deploy organizes your deployment targets (the machines and services you deploy software to) into groups called environments. Typical environments are Dev, Test, and Production. With Octopus Deploy, your deployment targets can be Windows servers, Linux servers, Microsoft Azure, AWS, Kubernetes Clusters, Cloud Regions, or even an offline package drop. Organizing your infrastructure into environments lets you define your deployment processes (no matter how many steps, environments, or deployment targets are involved) and have Octopus deploy the right versions of your software, with the right configuration, to the right environments at the right time.

Packaging applications

Before you can deploy software with Octopus Deploy, you need to bundle all the files required for the software to run into a supported package. The package must be versioned and stored in a repository. Octopus Deploy includes a built-in repository. We recommend configuring your existing toolchain to push packages automatically to the built-in repository or an external feed; however, you can push packages manually to the repository if you choose to.

Learn more about packaging applications

Runbook automation

A deployment is only one phase in the life of an application. There are typically many other tasks that are performed to keep an application operating. A large part of DevOps is running operations separate from deploying applications, and this is where runbooks helps.

Runbooks are used to automate routine maintenance and emergency operations tasks like infrastructure provisioning, database management, and website failover and restoration.

Learn more about Octopus Runbooks.

We have created a step by step guide on how to complete your first runbook run.

Glossary

As you start using Octopus Deploy, you will learn a lot of new terms. You can view a list of common terms on the glossary page.

Next steps

You can get started with either Octopus Server or Octopus Cloud for free. After setting up your instance, you can use our guides to help you deploy your software, run your first runbook, or integrate Octopus Deploy into your CI/CD pipeline.

Further Reading

This guide covered the basics of Octopus Deploy. There are still many more concepts to learn.

Need support? We're here to help.