2015-10-01 9 views
11

Attualmente sto utilizzando Build in Visual Studio Team Services (era Visual Studio Online) e vorrei poter impostare una variabile di compilazione in un passo di generazione in modo che il nuovo valore possa essere utilizzato in un passo di generazione successivo.È possibile impostare una variabile VSTS Build in una fase di costruzione in modo che il valore possa essere utilizzato in una successiva fase di creazione?

Ovviamente è possibile impostarlo prima dell'avvio di Build, ma sto cercando di legare in ritardo la variabile durante una successiva fase di creazione.

È possibile? enter image description here

+1

Hai provato l'approccio [qui descritto] (https://github.com/Microsoft/vso-agent-tasks/issues/375)? Vedere la risposta di @ChrisPatterson –

risposta

11

Quando all'interno di uno script è possibile aggiornare una variabile emettendo il seguente nella vostra PS1

"##vso[task.setvariable variable=testvar;]testvalue" 

si può quindi passare la variabile nel prossimo script utilizzando $(testvar)

+2

Questo funziona a meno che non si stiano utilizzando gruppi di attività. Ho creato un problema che contiene una soluzione: https://github.com/Microsoft/vsts-tasks/issues/3116 –

+1

concordato, non funziona nei gruppi di attività. –

4

Questo documento dalle API parla dei comandi ##vso che è possibile utilizzare.

Non dimenticare di impostare system.debug su true. Sembra che ci sia un bug che ha disattivato stdout e quindi, tutti gli ##vso non funzionano.

https://github.com/Microsoft/vso-agent-tasks/blob/master/docs/authoring/commands.md

+0

System.debug è impostato in una variabile VSTS, consultare https://docs.microsoft.com/en-us/vsts/build-release/actions/debug-deployment-issues – raterus