1

我在 Azure DevOps 中有一个管道,基本上看起来像这样

stage: BuildStage
   job: SetUp
   job: Compile
stage: DeployStage
   job: Deploy

SetUp作业中,我定义了一个输出变量,我可以在Compile作业中使用例如

variables:
   MyVariableFromSetUp: $[ dependencies.SetUp.outputs['MyVariable'] ]

问题是,我怎样才能在 Deploy 作业中做同样的事情?我不想运行 SetUp 阶段两次,因为计算 的值非常耗时,MyVariable因此我必须缓存它。

DeployStage 对 BuildStage 有一个dependsOn,但似乎我无法dependencies按预期使用。在处理变量时,文档没有提到多阶段案例。

4

1 回答 1

1

嘿,根据我的发现,目前没有直接的方法可以做到这一点,您将遵循以下 3 种方法之一

  1. 使用此方法将其作为工件值传递https://medium.com/microsoftazure/how-to-pass-variables-in-azure-pipelines-yaml-tasks-5c81c5d31763

  2. 使用 VSTeam powershell 模块通过 API 端点传递它https://www.donovanbrown.com/post/Passing-variables-from-stage-to-stage-in-Azure-DevOps-release,类似的方法也可以在这里找到https ://stefanstranger.github.io/2019/06/26/PassingVariablesfromStagetoStage/

于 2020-04-09T00:43:31.263 回答