Craftsman at work

I'm Artur Karbone, coding software architect and independent IT consultant and this is my blog about craftsmanship, architecture, distributive systems, management and much more.

Learn Octopus Deploy Part 0: The Goal

The Goal

In this series of blog posts, I'm going to show how to install/configure and use Octopus Deploy, which is a release management and deployment automation tool. Usually release management tools are the final steps in the CI/CD pipeline, which in general consists out of three players: code version control server, build server, deployment and release management server. Let's see that pipeline in the picture:

alt

Octopus Deploy shines exactly at deployment part of the pipeline, meaning it is excellent at distributing build artifacts to the deployment targets.

What to Expect

There is a bunch of good resources to get started with Octopus quickly. I don't think I will introduce something unique here. This is just me learning Octopus Deploy and sharing the process, some HOWTO instructions, tips & tricks, I faced working with Octopus Deploy on a daily basis.

At the moment I have the following high-level plan regarding this series:

  • Octopus server installation/configuration
  • Octopus agents (tentacles) installation/configuration
  • Environments setup
  • Deployment Targets
  • Roles setup
  • Packaging
  • Projects
  • Lifecycles
  • Variables
  • Channels
  • Releases and Deployments
  • Setting up Octopus infrastructure via docker (the hard way)
  • Setting up Octopus infrastructure via docker compose
  • Setting up High availability cluster
  • Octopus Cloud usage
  • Misc integrations (Slack, TeamCity, TFS, etc.)

The Resources

Here is the list of learning materials I either going to take or already have taken and recommend:

Comprehensive Documentation
Pluralsight
Books
Blogs
Social
YouTube
comments powered by Disqus