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
Usare lo spread operator con i collection initializer in C#
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Utilizzare Tailwind CSS all'interno di React: primi componenti
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Semplificare il deployment di siti statici con Azure Static Web App
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Elencare le container images installate in un cluster di Kubernetes
Reactive form tipizzati con modellazione del FormBuilder in Angular
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Code scanning e advanced security con Azure DevOps