I'm currently working on implementing CI/CD pipelines for my company in Azure DevOps 2020 (on premise). There is one requirement I just not seem to be able to solve conveniently: skipping certain tasks depending on user input in a release pipeline.
What I want: User creates new release manually and decides if a task group should be executed.
Agent Tasks:
1. Powershell
2. Task Group (conditional)
3. Task Group
4. Powershell
What I tried:
- Splitting the tasks into multiple jobs with the task group depending on a manual intervention task.
- does not work, if the manual intervention is rejected the whole execution stops with failed.
- Splitting the tasks into multiple stages doing almost the same as above with the same outcome.
- Splitting the tasks into multiple stages trigger every stage manually.
- not very usable because you have to execute what you want in the correct order and after the previous stages succeeded.
- Variable set at release creation (true/false).
- Will use that if nothing better comes up but kinda prone to typos and not very usable for the colleagues who will use this. Unfortunately Azure DevOps seems to not support dropdown or checkbox variables for releases. (but works with parameters in builds)
- Two Stages one with tasks 1,2,3,4 and one with tasks 1,3,4.
- not very desireable for me because of duplication.
Any help would be highly appreciated!