We have project with like 20 deployment steps and created separate non-default channel for vNext deployment. All packages for that channel are created with versions like 1.4..-vNext. Now I try to specify version rules for vNext channel. I was hoping to specify something like “1.4..-vNext” and be done with it, but it seems that I have to create identical rules for each of 20 deployment steps we have for the project! Is that true? If yes, then it is not only substantial burden and source of copy/paste errors, but it is also very fragile! What if we add or remove some steps in the deployment process (which happens all the time) - that would invalidate vNext channel because it would reference steps which no longer exist or even worse - miss some new steps it did not know about at the time it was configured!
I would expect the steps selector to allow for “All steps” (meaning all steps which use any package) and even make it the default.
You don’t have to add every deployment step to the channel when setting up version rules, you just add the first step you want to use and then in the deployment process you specify the channel on each step that should be included in the deployment to your vNext channel. We have this comprehensive walkthrough on how to support multiple versions by using channels.
I honestly try to make sense out of this walkthrough (before your answer and after), but still does not understand it.
In Step 1 of the walkthrough Normal channel is marked as Default and then it gets version rule… but nowhere there it tells what to do with “Package step(s)” control and designer would not let you save version rule without selecting something in “Package step(s)”. It is totally not obvious what should be selected there.
Is there documentation explaining what that control actually does?
I do see this 2 lines documentation: http://docs.octopusdeploy.com/display/OD/Channels#Channels-Steps but it does not explain much.
As far as I could nake sense so far I have to “Add step” all steps which deploy packages there, which is still fragile as it would require editing of each channel in case deployment steps change.
I think I get it. Let’s close it.