« Azure pipeline » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 40 : Ligne 40 :
== Exemple ==
== Exemple ==
<kode lang='yaml'>
<kode lang='yaml'>
# do not trigger the pipeline on events
trigger: none
parameters:
- name: myStepList
  type: stepList
  default:
    - bash: echo "Copy $(DbPermissionsFolderName)"
stages:
stages:
- stage: CI
- stage: CI
Ligne 72 : Ligne 81 :
       runOnce:
       runOnce:
         deploy:
         deploy:
           steps:
           steps: ${{ parameters.myStepList }}
            - bash: echo "We are on DEMO"
            - task: PowerShell@2
              displayName: 'PowerShell Script'
              inputs:
                targetType: filePath
                filePath: './$(System.DefaultWorkingDirectory)/Folder/Script.ps1'
                arguments: '-Arg1 "$(MyVar)"'
              enabled: false
      
      
</kode>
</kode>

Version du 26 juin 2020 à 16:39

Links

Steps of a release

  1. Build the software with a pipeline
    • validate product quality (unit tests, SonarCloud)
  2. Deploy the software
    • validate runtime stability (compare telemetry with previous version)
  3. Release the feature
    • validate feature usage

Definitions

Term Definition
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.
Artifact item from a git repository or a build pipeline
Stages steps to deploy and validate a software
Tasks subparts of a stage
Job can execute a set of tasks.
a job runs on a agent or can be manually ran.

Release variables

YAML

Links

Exemple

Yaml.svg
# do not trigger the pipeline on events
trigger: none

parameters:
- name: myStepList
  type: stepList
  default:
    - bash: echo "Copy $(DbPermissionsFolderName)"

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 }}