J'ai défini une variable dans ma définition de build TFS/AzureDevops (disons que c'est time
) et attribue la valeur à l'aide de la tâche PowerShell dans ma définition de build.
Comme,
Type: Script en ligne.
Script en ligne:
$date=$(Get-Date -Format g);
Write-Host "##vso[task.setvariable variable=time]$date"
Vous pouvez vous référer à cela exemple similaire
Maintenant, je veux obtenir cette valeur dans mon pipeline de définition de version. J'ai configuré cette définition de build en tant que déploiement continu dans ma définition de version.
Comment puis-je obtenir la valeur de time
dans ma définition de version en utilisant une autre variable? Est-ce possible?
Il n'y a aucun moyen officiel de passer des variables de Build à Release. La seule façon d'y parvenir est de stocker les valeurs dans un fichier (json, xml, yaml, qu'avez-vous) et de les attacher comme un artefact de construction. De cette façon, vous pouvez lire le fichier dans la version et redéfinir la variable.
Martin Hinshelwood semble avoir été suffisamment frustré par ce problème et a transformé cette fonctionnalité en une extension pour Azure DevOps Pipelines .
Tâches incluses
- Tâche d'enregistrement des variables - Pendant votre génération, vous pouvez enregistrer les variables dans un fichier json stocké avec vos autres actifs de génération
- Tâche de chargement variable - Pendant votre version, vous pouvez charger les variables enregistrées et y accéder.