我在Azure DevOps中有一个基本上看起来像这样的管道
stage: BuildStage
job: SetUp
job: Compile
stage: DeployStage
job: Deploy
在SetUp
作业中,我定义了一个输出变量,例如,可以在Compile
作业中使用
variables:
MyVariableFromSetUp: $[ dependencies.SetUp.outputs['MyVariable'] ]
问题是,如何在“部署”作业中执行相同的操作?我不想运行SetUp阶段两次,因为计算MyVariable
的值很耗时,因此我必须对其进行缓存。
DeployStage具有BuildStage的dependsOn,但是看来我无法按预期使用dependencies
。该文档在处理变量时未提及多阶段情况。
答案 0 :(得分:1)
嘿,根据我的发现,目前没有直接的方法可以执行此操作,您将遵循以下三种方法之一
使用此方法https://medium.com/microsoftazure/how-to-pass-variables-in-azure-pipelines-yaml-tasks-5c81c5d31763
使用VSTeam powershell模块https://www.donovanbrown.com/post/Passing-variables-from-stage-to-stage-in-Azure-DevOps-release通过API端点传递它,类似的方法也可以在https://stefanstranger.github.io/2019/06/26/PassingVariablesfromStagetoStage/