Replying to this a little late, I somehow missed the response to my original post…
I’m familiar with Channels and use it extensively to map back to teams and branches.
But I’m not really seeing how using that is feasible. Just to give you a general idea of how I am setup…
I have approximately 50 applications across 5 teams that operate in CI and CD to development environments. Every time an application is changed in source code, it is built, and then deployed. Each of these teams are different channels. Same applications, just different packages based on semantic versioning.
Each Sprint, teams identify which applications are going to be part of the release, and merge up into the release branch. When we know what the release will contain, I create a new project, and then use a utility that an Octopus member (sorry forgot the credits right now) that allows me to copy project steps from one to another. I copy the application deployment steps for each application that is going to be part of the Sprint into the Release Sprint project.
It’s at that time I start using this Release project. The issue becomes, each time there is a change to ANY application, I have to run the entire project. Sure it deploys the same package version if something didn’t change, but it still goes through the process.
I’m not really seeing how channels would help here. The project is what gets promoted up to the next environments, e.g. staging, production. Separating it by web or db or other would still have the same problem, just smaller.
I implemented UrbanCode at a company, and as part of that did evaluations of CA, HP, Serena, BMC, and all of the ARA tools out there support the ability to simply skip if it is already installed. I think what you are suggesting is to hack around a missing feature…
I would prefer at this point to redeploy than start altering the release structure to try and support the missing feature.
I’d still like to see this added. Seems pretty reasonable and not difficult to check if, it is installed already, don’t execute the sub-tasks, rather than what you are describing (which doesn’t address it anyway).