gpt4 book ai didi

azure - 如何在 azure 发布管道中跨代理作业使用输出变量

转载 作者:行者123 更新时间:2023-12-03 15:44:18 26 4
gpt4 key购买 nike

在我的azure发布管道中,我有2个代理作业,一个是使用power-shell进行sql部署,另一个是使用power-shell进行kubernetes。如何在第一个代理作业中设置输出变量,并使用 power-shell 在第二个代理作业中使用该变量。

enter image description here

最佳答案

使用

Write-Output "##vso[task.setvariable variable=testvar;isOutput=true;]testvalue"

然后引用输出变量,就好像它存在于 future 的任务中一样。

$(taskreference.testvariable)

可以在powershell脚本任务的输出部分设置任务引用名称:

enter image description here

但当我阅读文档时,跨工作引用似乎还不可用:

TODO

I am not sure how are we going to generate Job ref name, since we don’t have job chaining at this point.

It should be something like:

{DefinitionName}_{JobName}

See: Azure-Pipelines-Agent/docs/Outputvariable.md

所以目前该变量只能在同一个作业中工作。

It does look like YAML build do already support cross-phase output variable references .

职位:

# Set an output variable from job A
- job: A
pool:
vmImage: 'vs2017-win2016'
steps:
- powershell: echo "##vso[task.setvariable variable=myOutputVar;isOutput=true;]this is the value"
name: setvarStep
- script: echo $(setvarStep.myOutputVar)
name: echovar

# Map the variable into job B
- job: B
dependsOn: A
pool:
vmImage: 'ubuntu-16.04'
variables:
myVarFromJobA: $[ dependencies.A.outputs['setvarStep.myOutputVar'] ] # map in the variable
# remember, expressions require single quotes
steps:
- script: echo $(myVarFromJobA)
name: echovar

关于azure - 如何在 azure 发布管道中跨代理作业使用输出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56517351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com