Skippable Steps by default
Is there a way to make a step skippable by default?
I know the request might sound strange, but we're run into a scenario where a step may need to be run in certain scenarios. Obviously the user could skip the step by hand each time, but considering the default is to run each step, we're trying to avoid a scenario where someone doesn't look and just runs the default. This would make it very apparent that the step isn't run (as it will be marked as skipped) and force the user to look into it with more detail.
Odd request, I know, but we would find it useful.
Source: http://help.octopusdeploy.com/discussions/questions/2496

Thanks for voting on this. I think that the “channels” feature we added in 3.3 is a solution to this scenario – you could set up channels like “major release (all steps)” and “tiny bugfix (run 1 step)”.
-
Anonymous commented
Would like to revive this request if possible.
We sometimes have optional steps which don't fit into the "Channels" model. Especially since we already use channels for something else.
Sometimes they are just steps which you normally don't run except for special cases. For example in our development environments we would normally only like to deploy a cut down version of our product (to save money and time), except for the cases you want to debug a full version of the product.
-
Grant Drage commented
Cant agree more with the other comments. We have a project with some steps which just dont need to be run in certain environments, but do in others.
for us the perfect solution would be being able to set whether a step is or skipped by default, per environment.
-
Tim Evers commented
I don't see how channels fix this feature - I'd be happy to be corrected!
We have environments that we refresh with production data occasionally when we do a release but, we certainly do not want to perform the refresh every time we perform a release.
Currently the only way we can deal with this is by having those steps assigned to a "Dummy" environment and then when we want to perform a refresh in an environment we assign that environment to those steps and create a new release based on the existing release.
However, if we were able to set these steps as skipped by default it would simply be a matter of deploying the release and toggling the skipped steps on.
Is there a way to deal with this that isn't so "hacky"?
-
Glen Taylor commented
Thanks Paul.
-
Phillips, Scott commented
Octopus-
Whats the status on getting this feature built into the next update? -
Anonymous commented
I can't understand why this hasnt made it into the product yet. I'd like our end users to have the possibility to restore databases before a deployment but obviously I don't want this as a default choice. Theres no decent way to do this today.
-
Erik commented
We use a silly workaround now, which involve creating a extra powershell step, a "skip by default default" would be really useful.
Skip step powershell:
Set-OctopusVariable -Name "SkipSomething" -Value "true"pre-deploy script in following steps that should be skipped by default:
$skip = $OctopusParameters['Octopus.Action[Skip step name].Output.SkipSomething']if ($skip -eq "true") {
echo "Skipping step as the skip flag is set. To run this step, skip the step 'Skip step name'"
Set-OctopusVariable -Name "Octopus.Action.SkipRemainingConventions" -Value "true"
} -
Daniel Hoenig commented
We have a similar issue and would find this feature very helpful.
-
Luke Rogers commented
I have a scenario where I have deployment to a stage environment which involves deleting, backing up and restoring some large databases and I would like to skip this step by default so I can run it, but don't have to. I do scheduled builds from TeamCity and would like to speed up the iterations of builds to test out functionality when the database hasn't changed much in the last few days. This would speed up my builds to about 6 minutes instead of 45.