Versioning the deployment pipeline


Is there a way to “version” the deployment pipeline for a project?

I have a project, PROJECTX. It has 1 step, deploy package A. I deploy it to TEST and promote to PROD. Life is good, we keep working on trunk and add a new step, deploy package B. We deploy a new release with package A and B from trunk to TEST, everything is great.

Now… a hotfix for PROD is needed. Ok, lets just create a new package for A from the production branch, create a new release to TEST with the new package A and deploy it. But no, that’s impossible because PROJECTX now consist of TWO steps and the there is no such thing as a package B in the production branch, making it impossible to create a new release.

I’m suspecting I’m not the first person to come across this scenario. Is there a good way to handle this?


The way to handle this currently is to set up a second project - call it PROJECT X V2 - with a different set of steps.