【问题标题】:variable in deployment job doesnt extend value部署作业中的变量不会扩展值
【发布时间】:2020-02-08 09:30:13
【问题描述】:

我在模板中获取部署作业以扩展通过参数提供的变量时遇到问题。我在下面使用了一些速记的东西。

如果你想看代码,https://github.com/ausfestivus/azureDevOpsPrototypes有一个原型显示问题

管道如下所示:

舞台00

  • buildjob00
    • 任务产生输出变量(名称:taskName.VAR_NAME)
  • buildjob01
    • 任务能够引用变量并通过以下方式检索/显示变量值 依赖符号。 [dep.buildjob00.taskName.VAR_NAME]
  • 模板:

    • 参数:
      • bunchOfVarsAsSequenceFormat:
        • var1:[dep.buildjob00.taskName.VAR_NAME]
        • var2:[dep.buildjob00.taskName.VAR_NAME]
  • 模板包含:

    • buildjob02
      • 此构建作业将看到变量值正常
    • 部署job00
      • 此部署作业将看到变量名称但包含空值

抱歉,如果没有很好地解释,希望上面的原型比上面的伪代码更好地说明它。

【问题讨论】:

  • 我的意思是说我也在VSD社区上发布了这个。 developercommunity.visualstudio.com/content/problem/911622/…
  • Hey Ausfestivus- 如果您创建一个仅包含问题的 repo\prototype 并发布简化的 yaml,您将在这里获得更多帮助。尝试使用模板中最少数量的作业\步骤重新创建问题,只需一个变量和一个参数。
  • 此外,如果您下载日志,将会有一个azure-pipelines-expanded.yaml。这是从您的任何模板组合后创建的有效扩展管道 yaml。您实际上可以使用该 yaml 创建管道,并排除与模板相关的问题。
  • 感谢 Eric 的提示。在我发布的 github 存储库中有一个简化的 YAML。对于这个特定问题没有简单的 YAML,因此我必须首先对其进行原型设计。您指的是哪些日志,可以在哪里下载?
  • 不用担心,下载日志和azure-pipelines-expanded.yaml 请参见此处。 docs.microsoft.com/en-us/azure/devops/pipelines/… 在你的原型上,我看到你付出了很多努力!但我的建议是举一个例子来说明问题。所以只包括 job: job00 tmpl: deploy 和一个变量\param STAGE00_JOB00_BASH00_VAR00

标签: azure-devops yaml


【解决方案1】:

你在这里分享你的 YAML 脚本真是太棒了!否则,很难理解你的结构:-)

要在tmpl: deploy 中显示变量,您需要将其对应的dependsOn 更改为job00,而不是templateJob

  - deployment: templateDeploy
    displayName: 'tmpl: deploy'
    continueOnError: false
    dependsOn: job00

然后你会看到值可以成功显示:

【讨论】:

  • 嘿梅林,解决了。谢谢你。作为记录,this announcement 让我高兴。我希望你们能想出可行且易于理解的变量处理方法。目前的方法很糟糕,让我头疼。
  • @Ausfestivus 哈哈哈,复制一下。会让我们的团队知道它会给用户带来怎样的痛苦? 只是,我们正在努力让它们变得不那么复杂:-)
猜你喜欢
  • 1970-01-01
  • 2019-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-18
  • 2011-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多