Octopus Deploy - Far fewer branches

At Lake Solutions, we are proud to be a partner of Octopus Deploy – which has built a trusted reputation for its repeatable, reliable deployments. By utilising Octopus Deploy you can manage releases, automate complex application deployments and automate routine and emergency operations tasks. 

We were excited that Octopus now offers the option to manage your deployment process as code. This means you can define your deployment process, scripts, and variables in source code and you can store this configuration in the same source control repository as your application source code (or somewhere else).

This has been in development for a few years now and will make the whole deployment process a lot more straightforward. The benefits include the fact that you can now adapt your deployment process to cope with both process and infrastructure change. 

Previously we would manage infrastructure as code – which could involve lots of testing and, therefore, lots of branches. Then, when it came to deployment, this could well demand changes in the infrastructure, which was awkward to manage and the deployment process could be very difficult and liable to break. 

Octopus Deploy recommends a two-phase approach when moving to deployment process as code – starting with scripts as code and moving towards project as code. 

As Octopus Deploy explains: The simplest way to get started with deployment process as code is to manage your custom deployment scripts as code. When you deploy your application, Octopus can execute a script contained inside a package. You can collocate your deployment scripts with your application source code, leveraging all the benefits of source control including change tracking and branching, then package it all up for Octopus.

Another approach to deployment process as code is to define the configuration of your Octopus project as code, primarily the deployment process and variables. You can colocate your Octopus project configuration with your application source code, adding a step to your build process which pushes the configuration changes to your Octopus project.

When managing your Octopus configuration as code, Octopus still makes sure your deployments are consistent and repeatable. Whenever you push a configuration change to your Octopus project via code, it's just like people using the user interface or API to make changes. When you create a release, Octopus takes a snapshot of the deployment process, variables, and packages making every deployment of that release consistent and repeatable, regardless of whether the project was configured by a person or by code.

This means you can push configuration changes to Octopus as code and get the same consistent and repeatable experience you expect for your deployments.

With deployment process as code, any changes can be updated from source control as they happen. 

Lake Solutions utilises Octopus Deploy as part of our continuous integration and continuous deployment approach, which allows us to maintain exceptional levels of quality, with the levels of reporting and control demanded by organisations today. 

If you want to find out more about Octopus Deploy’s deployment process as code, then give our team at Lake Solutions a call.

Article Details

Ian Jepp
08 July 2020