Nello script precedente su questo canale, abbiamo avuto modo di vedere come sia possibile convidere una variabile creata all'interno di un task, per poterla riutilizzare all'interno di altri task contenuti nello stesso job e nello stesso stage di una determinata pipeline.
Tuttavia, può talvolta diventare utile poter condividere la variabile tra più job all'interno della stessa pipeline, così che questa venga riutilizzata in contesti o su agent differenti per eseguire azioni collegate fra di loro logicamente.
Come abbiamo visto precedetemente, possiamo creare una variabile all'interno di uno script in questo modo:
echo "##vso[task.setvariable variable=myVariableName]$myVar"
Per poterla utilizzare fra più job, dobbiamo solamente crearla come variabile di output, specificando l'attributo isOutput:
echo "##vso[task.setvariable variable=myVariableName;isOutput=true]$myVar"
A questo punto la variabile sarà visibile ai job successivi tramite la reference a dependencies.{jobName}.outputs['{stepName}.{varName}']:
- job: A steps: - script: echo "##vso[task.setvariable variable=myOutputVar;isOutput=true]this is the deployment variable value" name: setvarStep - script: echo $(setvarStep.myOutputVar) name: echovar - job: B dependsOn: A variables: myVarFromDeploymentJob: $[ dependencies.A.outputs['setvarStep.myOutputVar'] ] steps: - script: "echo $(myVarFromDeploymentJob)" name: echovar
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Introduzione alle Container Queries
.NET Conference Italia 2024
Eseguire i worklow di GitHub su runner potenziati
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Cancellare una run di un workflow di GitHub
Generare velocemente pagine CRUD in Blazor con QuickGrid
Ricevere notifiche sui test con Azure Load Testing