I have an Azure DevOps pipeline that first builds a Function App and then deploys it through several different stages. My goal is not have the deployment stages trigger automatically.
When using releases, I'm able to achieve my goal by defining pre-deployment checks so that deployment to a stage is not triggered automatically. Since there is no option to make deployment of a stage 'manual after stage', I have to add an artefact filter to the relevant stage and set it to exclude *
.
Unfortunately, stage triggers and artefact filters don't appear to exist for pipelines -
The environments that I can link to deployment stages do include approvals and checks, but these appear to be very limited and of no real use.
- Define approvals and checks
Currently, manual approval and evaluate artifact are the only available checks
I have attempted to add a manual intervention, but despite the task being available through the pipeline assistant it does not work on a pipeline, only on a release.
- Manual Intervention task
This task is supported only in classic release pipelines.
How can I achieve my goal of manual deployment to stages of a pipeline?
Here is an example of my pipeline.
stages:
- stage: Publish
displayName: Publish Function App
jobs:
- ...
- stage: Dev
displayName: Deploy Dev
jobs:
- ...
- stage: Staging
displayName: Deploy Staging
jobs:
- ...
- stage: Production
displayName: Deploy Production
jobs:
- ...