Implement Process Versioning
One pain point we run into is making updates or changing the deployment process for a project. The repeated loop of "make a change, create a new release, deploy the release, make sure everything worked as expected, if not repeat" is very time consuming. Making large changes or introducing new steps into a process can often leave the overall process in a broken state for hours or days. During that time my team still needs to be able to make deployments of the project that just work. It would be beneficial if there were a way to work on changes to the deployment process for a project without breaking current deployments.
I would think you could do this in a couple different ways:
A simple approach would be to just have a pending process where you make your changes and you can select this pending process when creating your releases if needed. Once you've vetted your changes and are ready for it to become the normal process you'd activate it.
A more complete approach would be making the deployment process versionable so that you could have a default version of the process that's used when creating releases and then an option to be able to choose a different version.
I have run out of votes. But I also would like this, or something like it which makes it easier to test out a process change without having to create a new release each time.
Brecht Vansteenkiste commented
We have a similar issue, which the later would solve. When we change our deployment process, we might break our production deploy, when we then need to do a hotfix, we cannot use the new process. So versioning the process and being able to select which version to use for a release would solve this problem.