Strategy for deploying different branches to different environments


Our product is built around a ‘develop’ branch which is deployed to our QA environment and then a ‘master’ branch which is only deployed to production. When QA testing is completed we merge develop into master and use Octopus to deploy the master branch to production. Right now, our QA deployments from develop are done manually. We are using TeamCity to produce the builds from each branch.

What would be the correct way to automate our QA deployments? Should I reuse the existing octopus project and use different channels? How does one set that up? Or is there another way to do it?

Many thanks


Hi James,

Thanks for getting in touch! I think channels is your solution here. You should aim for a single project with multiple channels. You can then scope both variables and steps to the channels so if your process evolves with your versions one channel isnt effected by the other. We have this as part of our Channels walk through:

Let me know if you have any questions!