【问题标题】:How does the ADO pipeline versioning work?ADO 管道版本控制是如何工作的?
【发布时间】:2022-11-18 14:05:29
【问题描述】:
  1. 管道 YAML 文件是我们存储库的一部分
  2. 我们从单个主干分支部署

    问题:后来的提交覆盖了先前提交的管道。

    我们首先在我们的主干中为一个提交(称之为#1)运行了一个管道。已成功部署到开发和测试的管道。在我们运行 #1 的管道运行到 UAT 之前,我们部署了一个新的提交(称之为 #2)到开发。新提交 (#2) 包含 YAML 中的管道更改。然后我们将之前的管道 (#1) 运行到 UAT,它尝试执行后来的提交 (#2) YAML 管道更改。

    这是一个错误吗?他们在这种情况下的最佳做法是什么?

    这是意想不到的行为,并且本应期望管道尊重管道的提交快照,从而允许我们针对当时提交的管道版本运行历史管道。

【问题讨论】:

  • 当你说你运行了“以前的”管道时,你是什么意思?当你排队流水线的时候,你做了什么?只有一个管道吗?您的管道是否使用任何其他存储库?

标签: azure-pipelines


【解决方案1】:

Azure Pipeline 是一种用于构建源代码的 CI/CD 工具。因此,如果您提到的两个管道是为同一个 repo 同一分支构建的,并且您已经对该分支进行了新的提交(称为#2),则您无法为之前的提交运行管道(如#1)除非您将代码更改转换回提交 #1。

所有构建都是管道运行的历史,重新运行以前的构建将使用当前定义和源代码运行管道。

您可以在 YAML 中为具有不同版本源代码和管道更改的不同分支运行管道。例如,branch1 的最新更改是 commit #1,branch2 的最新更改是 commit #2。在使用 branch2 将新的提交 #2 部署到 dev 之后,您可以使用 branch1 为提交 #1 运行管道。参考Version control systems获取更多信息。

【讨论】:

    猜你喜欢
    • 2016-12-13
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 2012-12-25
    相关资源
    最近更新 更多