J'utilise actuellement Build dans Visual Studio Team Services (était Visual Studio Online) et j'aimerais pouvoir définir une variable de build dans une étape de build afin que la nouvelle valeur puisse être utilisée dans une étape de build ultérieure.
De toute évidence, vous pouvez le définir avant le début de la génération, mais je cherche à lier tardivement la variable lors d'une étape de génération suivante.
À l'intérieur d'un script, vous pouvez mettre à jour une variable en émettant ce qui suit dans votre ps1
"##vso[task.setvariable variable=testvar;]testvalue"
Vous pouvez ensuite passer la variable dans le script suivant en utilisant $(testvar)
Ce document de l'API explique ce que ##vso
commandes que vous pouvez utiliser.
N'oubliez pas de régler system.debug
à true
. Il semble qu'il y ait un bogue qui mute stdout
et donc, tous ##vso
ne fonctionne pas.
https://github.com/Microsoft/vso-agent-tasks/blob/master/docs/authoring/commands.md
Vous pouvez créer un script PowerShell et le référencer en tant que tâche de génération. Ensuite, dans vos scripts PowerShell, ajoutez ceci:
"##vso[task.setvariable variable=key]value"
Après cela, sur toutes vos tâches, vous pouvez lire la variable comme $ (clé). Si vous souhaitez protéger votre variable, utilisez:
"##vso[task.setvariable variable=secretVar;issecret=true]value"
Et puis utilisez-le comme $ (secretVar) dans vos prochaines tâches.