DEV Community

Anil Kumar Khandei
Anil Kumar Khandei

Posted on

Channels in Octopus Deploy

Lets say there are 2 code branch and their associated pipelines for Continous Integration-

  1. Regular branch for current release
  2. future branch for future release [New]

You may have 2 different agile teams working on each of the above branches.

So obiviously for the future branch code we had to provision another set of parallel infrastructure for DEV, QA and UAT

Now comes the tricky part for implementing the Octopus deploy part for the second parallel infra.

Initial analysis may suggest we have to duplicate the existing project, variables, steps etc. But this is bruteforce method, the correct way to implement such a scenario is by using channels in Octopus deploy.

Its a very interesting that the team at Octopus already knew such a situation might occur where we start duplicating projects and creating a mess. Hence they introduced the neat and clean way to accomplish this.

Step 1: Create a new Lifecycle
Step 2: Go to Project > Deployments > Channels
Step 3: Add a new channel, associate it with lifecycle created in step 1.
Step 4: Create a version rule that is applicable to this channel**

**The way the channel works is when a new artifact is created in azure artifactory, it checks for the revision number.

Based on version rule defined in the channel it determines which channel processes the new artifact.

Octopus Deploy Documentation can be found at [Octopus Channels]: https://octopus.com/docs/releases/channels

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay