Déplacer des paramètres dans un fichier YAML
Dans Azure Pipelines, vous pouvez utiliser des fichiers YAML pour définir la configuration de votre pipeline en tant que code. Les paramètres dans les fichiers YAML vous aident à réutiliser le pipeline et à nettoyer le code. Dans cette unité, vous allez apprendre à déplacer des paramètres dans un fichier YAML.
Pourquoi utiliser des paramètres dans des fichiers YAML ?
Avantages de l’utilisation de paramètres dans des fichiers YAML :
- Il permet de réutiliser la configuration du pipeline.
- Il vous permet de définir le pipeline en tant que code, ce qui vous permet de suivre les modifications du pipeline au fil du temps.
- Il conserve le code clair et organisé.
Déplacer des paramètres dans un fichier YAML
Vous pouvez imposer qu'un pipeline s'étend depuis un modèle spécifique pour augmenter la sécurité.
Dans l’exemple suivant, le fichier parameters.yml définit le paramètre buildSteps, qui est ensuite utilisé dans le pipeline azure-pipelines.yml. Dans parameters.yml, si une buildStep est passée avec une étape de script, elle est rejetée et la génération du pipeline échoue.
Créez un fichier nommé parameters.yml dans votre référentiel ou un autre dépôt spécifique à vos modèles.
Définissez vos paramètres dans ce fichier à l’aide de la syntaxe YAML :
# File: parameters.yml
parameters:
- name: buildSteps # the name of the parameter is buildSteps
type: stepList # data type is StepList
default: [] # default value of buildSteps
stages:
- stage: secure_buildstage
pool:
vmImage: windows-latest
jobs:
- job: secure_buildjob
steps:
- script: echo This happens before code
displayName: 'Base: Pre-build'
- script: echo Building
displayName: 'Base: Build'
- ${{ each step in parameters.buildSteps }}:
- ${{ each pair in step }}:
${{ if ne(pair.value, 'CmdLine@2') }}:
${{ pair.key }}: ${{ pair.value }}
${{ if eq(pair.value, 'CmdLine@2') }}:
# Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2'
'${{ pair.value }}': error
- script: echo This happens after code
displayName: 'Base: Signing'
Créez un fichier nommé azure-pipelines.ymlet référencez le parameters.yml fichier :
# File: azure-pipelines.yml
trigger:
- main
extends:
template: parameters.yml
parameters:
buildSteps:
- bash: echo Test #Passes
displayName: succeed
- bash: echo "Test"
displayName: succeed
# Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2'
- task: CmdLine@2
inputs:
script: echo "Script Test"
# Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2'
- script: echo "Script Test"
Ici, vous pouvez voir que le pipeline est étendu à partir du modèle parameters.yml. Le paramètre buildSteps est passé au modèle. Le modèle vérifie si la valeur du paramètre buildSteps est un stepList type. Si c’est le cas, le pipeline se poursuit. Si ce n’est pas le cas, le pipeline échoue.
Essayez d’exécuter le pipeline. L’erreur suivante doit s’afficher :

Vous pouvez augmenter la sécurité en ajoutant une approbation de modèle requise lors de l’extension à partir d’un modèle.
Défiez-vous-même
Créez un pipeline à l’aide de paramètres à partir d’un fichier de modèle YAML qui déploie une application web dans différentes régions en fonction du choix de l’environnement d’un utilisateur.
Pour plus d’informations sur les paramètres et les modèles, consultez :