Is there a way to automatically deploy releases with certain versions?

We’re tying to automate the deploy process to our lower environments and we ran into an issue while trying to do this. Our builds are generated by TeamCity and then a release is automatically created (not deployed) in Octopus using the build number.

We generate builds from two branches, master and Release-x.y. Builds from master end up with a -dev??? suffix (e.g. 1.0-dev001 for the first dev build of our 1.0 version) and -rel??? for the release builds.

What I’d like to do is to automatically deploy the dev builds on our lower environments, but so far I haven’t been able to find an option to do this. The only thing I found would also deploy the release builds on the same environment which we don’t want. Is there some way to do this in Octopus?

edit: We are currently using Octopus 3.13.0

Hi @cristi.dima,

Thanks for getting in touch!

The main way I can see of achieving this would be to use a combination of Channels and Lifecycles.

You could run two separate channels, one for dev builds and one for release builds. When creating the channels you can add version rules to ensure that only the packages with the correct suffix are assigned to that channel.

If dev builds are never going to be deployed on your production environments you can create a new lifecycle and only have your dev/lower environments on the dev channel and the production environments on the release channel.

Then you would have the dev lifecycle set to automatically deploy builds within the phase
e.g.

I realise I’ve covered a few different areas here so if you run into any problems or have questions, please let me know and I can mock up some examples to help make things clearer.

Best regards,
Paul

1 Like