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
Creare alias per tipi generici e tuple in C#
Gestire domini wildcard in Azure Container Apps
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Evitare la command injection in un workflow di GitHub
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Installare le Web App site extension tramite una pipeline di Azure DevOps
Disabilitare automaticamente un workflow di GitHub
Eseguire le GitHub Actions offline
Definire stili a livello di libreria in Angular
I più letti di oggi
- I nuovi metodi degli array di ECMAScript 5
- Evitare (o ridurre) il repo-jacking sulle GitHub Actions
- Un custom control BoundField con dropdownlist
- .NET Core 3, C#8 and beyond
- Utilizzare long polling in HTML5 per richieste in real time
- Utilizzare le shortcut da tastiera con KeyboardAccelerator nella Universal Windows Platform
- Microsoft Security Bulletin MS05-048