Azure pipeline
Apparence
Links
Definitions
Term | Definition |
---|---|
Artifact | item from a git repository or a build pipeline |
Stages | steps to deploy and validate a software a stage contains jobs |
Job | subparts of a stage, contains tasks to execute listed as steps a job runs on a agent or can be manually ran |
Tasks / Steps | subparts of a job, those are the concreate action to execute |
Release pipeline definition | steps to execute to get the artefacts, install and validate the software template to run a release |
Release agent | the one who execute the tasks defined in the release pipeline definition it is the same agent as the one used for the build |
Release variables
YAML
Links
Exemple
# do not trigger the pipeline on events
trigger: none
parameters:
- name: myStepList
type: stepList
default:
- bash: echo "We are on $(MyVar)"
stages:
- stage: CI
displayName: CI stage
# remove implicite depency on the previous stage, the stages will run in parallel
dependsOn: []
jobs:
- job: ci_job
variables:
MyVar: 'CI'
steps:
- bash: echo "We are on CI"
- task: PowerShell@2
displayName: 'PowerShell Script'
inputs:
targetType: filePath
filePath: './$(System.DefaultWorkingDirectory)/Folder/Script.ps1'
arguments: '-Arg1 "$(MyVar)"'
# disable the task
enabled: false
- stage: DEMO
displayName: DEMO stage
dependsOn: []
jobs:
# use deployment job with environment and strategy to use the approval mechanism
- deployment: demo_job
environment: DEMO
variables:
MyVar: 'DEMO'
strategy:
runOnce:
deploy:
steps: ${{ parameters.myStepList }}
|
Steps of a release
- Build the software with a pipeline
- validate product quality (unit tests, SonarCloud)
- Deploy the software
- validate runtime stability (compare telemetry with previous version)
- Release the feature
- validate feature usage