Variabiliser un paramètre dans un pipeline Azure DevOps de build

Antoine NAFFETAT
Publié par Antoine NAFFETAT
Catégorie : DevOps
22/11/2023

Introduction

Certains pipelines de build servent à plusieurs branches d’un même projet. Et il peut donc s’avérer nécessaire d’avoir des paramètres différents suivant la branche. Dans cet article nous prendrons comme besoin le fait de changer la configuration de build (debug ou release) suivant la branche.

 

Comme il n’est pas possible de choisir le scope d’une variable en fonction de la branche utilisée dans un pipeline, nous allons modifier les variables du pipelines en fonction de la branche avec une tâche in line PowerShell.

 

Mise en place

Une fois le pipeline de build créé, la première étape consiste à créer une variable dans le pipeline. Ici nous nommons cette variable « system.BuildConfig », mais vous pouvez choisir n’importe quel nom :

Variables de pipeline

 

Ensuite nous allons ajouter une tache « Run Inline Powershell » pour modifier cette variable en fonction le nom de la branche. Dans notre exemple nous voulons une configuration debug si le nom de la branche est « dev » sinon une configuration release.

Param(
[string]$branchName
)

If($branchName -eq 'dev')
{
Write-Host "##vso[task.setvariable variable=system.buildConfig]build" 

}
Else
{
Write-Host "##vso[task.setvariable variable=system.buildConfig]release"
}

Tâche de pipeline PowerShell

 

Enfin dans la tâche « Visual Studio build » nous allons utiliser notre variable pour la configuration de build.

 

Tâche de pipeline Visual Studio Build

Il est possible de modifier n’importe quelle variable de pipeline de cette façon en fonction des différents besoins des projets !