我有以下设置,其中第一个模板化作业(deploy-infra.yml)运行一些 terraform 作业,这些作业会产生一些输出,这些输出在以后的模板化作业中需要,我似乎可以做的是将此输出传递给其他模板化作业,这似乎因为模板参数是在编译时而不是运行时确定的。
有没有办法做到这一点?这是我目前拥有的:
- stage: Deploy_Canary
displayName: Deploy Canary
jobs:
- template: deploy-infra.yml
- template: deploy-software.yml
parameters:
dbserver: $[dependencies.DeployInfra.outputs['outputDeployInfra.dbserver']]
deploy-infra.yml 将其作为输出生成,该输出取自 powershell 脚本,该脚本又从 terraform 模块获取输出:
- pwsh: |
echo "##vso[task.setvariable variable=dbserver]$(db.server)"
name: outputDeployInfra
如果我parameters.dbserver
在 deploy-software.yml 作业中回显,我会得到:
$[dependencies.DeployInfra.outputs['outputDeployInfra.dbserver']]
有任何想法吗?!谢谢!