There’s a behavior I’m noticing when I skip steps for deployments. If I skip steps in an environment, and then promote to the next environment, it doesn’t preserve the step skipping. Here’s a scenario where this breaks a deployment pipeline.
Let’s you have this life cycle: Dev > QA > UAT > Staging > Production
And your deployment steps cover deploying a DB and a Website.
You start by deploying only the DB (by manually selecting to skip the Website steps) to the Dev environment, after which you do the same for QA (by manually selecting to skip the Website steps again).
Now you deploy to UAT, but this time manually skipping the DB step and deploying just the Website. This is a break in the deployment pipeline, where the Website got to UAT without deploying to DEV and QA.
Is there a way to prevent this from happening in Octopus? Ideally, I would expect that when you manually skip the steps in the first environment (Dev), that Octopus would preserve those skips for all promotions up the ranks. How do enforce my deployment pipeline here?
Hi Jafar, thanks for reaching out.
I’ve run this question past the team, and I wanted to give you some information as to why skipped steps are not automatically skipped in the next environment.
Octopus Deploy has been developed to give developers the flexibility to run steps as needed. Examples we have seen used by customers are skipping steps that, while still defined to make them repeatable, are run only once or very infrequently, such as a database setup script. Developers may also choose to skip long running steps like backups in development environments, rerun individual steps after a successful deployment, or skip steps that are known to be already done in a development environment but still need to be done in production.
There is no way to prevent different steps being skipped in different environments. A workaround could be to add a manual intervention step to verify that steps skipped in the previous environment are also skipped in the next one. However these manual intervention steps could also be skipped, so they can’t be relied on as a means of enforcement. The deployment process is designed to be repeatable, but also to trust those doing the deployments.
If this is a feature that would benefit your team, please feel free to create a user voice idea at https://octopusdeploy.uservoice.com/.
Gotcha… thanks for clarifying that.