【问题标题】:In Azure DevOps Server 2019 (on-prem) release pipeline how can one stage pass a file to another stage?在 Azure DevOps Server 2019(本地)发布管道中,一个阶段如何将文件传递到另一个阶段?
【发布时间】:2020-02-16 15:30:31
【问题描述】:

我们在本地部署了 Azure DevOps Server 2019。这意味着没有统一的管道,没有用于发布管道的 YAML。

场景是这样的: 一个阶段运行 terraform 代码以在 Azure 中预配一些资源。需要在terraform planterraform apply之间插入人工审批,但是terraform plan阶段生成的计划文件必须与terraform apply阶段共享。

我可以看到这些选项:

  1. 将计划文件保存在共享文件系统上
  2. 将计划文件保存在 Azure 上的专用存储中
  3. 将计划文件保存在 Azure DevOps 中的某个位置,以便各个阶段无需定义专用文件共享或 Azure 存储即可访问它
  4. 将计划文件的内容作为输出变量传递

我个人最喜欢最后一个选项,但我想知道输出变量值长度的限制是什么? What is the maximum length of a variable in Azure Pipelines? 建议它大约为 32KB,这可能还不够好。鉴于此,是否可以选择在阶段之间传递文件?

【问题讨论】:

    标签: azure-devops azure-pipelines azure-pipelines-release-pipeline


    【解决方案1】:

    没有可以在经典发布管道中使用的默认任务。由于变量的限制,您需要将文件发布到专用文件共享或 Azure 存储。

    【讨论】:

    • 它在经典发布管道中有效吗?我会检查的。
    • Task Publish Build Artifacts 必须在构建中运行才能将工件发布到 Azure Pipelines,这意味着计划文件需要从构建中发布。我只是重新检查您的查询,发现我误解了您的要求。经典发布管道中没有可以使用的默认任务。由于变量的限制,您需要将文件发布到专用文件共享或 Azure 存储。
    • 这很令人失望。我们需要等待多长时间才能让那些不幸使用 TFS 的本地版本的人使用统一管道?
    • 我们没有新功能的截止日期,但我只是找到了一个非官方的扩展,您可以查看它是否对您有帮助:marketplace.visualstudio.com/…
    • 我不是在谈论新功能。我说的是本地是托管版本的混蛋。托管版本具有所有优点,但自相矛盾的是,那些在 TFS 迁移到 azure 之前就开始使用 TFS 的人会因为没有托管的所有功能而受到惩罚。所以,问题是 - 托管中已经存在的好东西会传播到本地需要多长时间?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 2016-11-03
    • 2021-11-05
    相关资源
    最近更新 更多