在发行时使用原始的构建管道来构建先前的发行版

时间:2020-01-30 14:28:57

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

我们正在使用Azure DevOps Services在我们的项目中遵循gitflow模型。我有一个基于经典编辑器的管道,该管道构建了Dev和Release / R1.0分支。

我将建立一个基于经典编辑器的管道,该管道在发行结束时合并Release / R1.0分支后,将从master分支构建我的Release R.10。让我们说这个基于经典编辑器的构建管道是MyProduct-R1.0

发布之后,我将按照GitFlow模型标记master分支并删除Release / R1.0分支。但是,我将保留构建管道MyProduct-R1.0

我的问题是这样的:假设在R1.0版本中,一旦主分支前进了,并且我想在R1.0标签上构建主分支,我该如何使用MyProduct-R1.0管道来处理最初是用来构建R1.0版本的吗?

我知道这可能是一个令人困惑的问题,但是我已经尽力了结。

谢谢

更新2:我认为我的问题更多是关于MyProduct-R1.0发布管道的分支规范。我不能给主人,因为主人会在R1.0版以后发展。我不能提供Release / R1.0,因为按照gitflow模型,此分支将在Release之后删除。那么我应该为管道提供哪些分支规范?

3 个答案:

答案 0 :(得分:1)

使用YAML构建。 JSON(“经典编辑器”)构建没有这种机制,因为JSON构建与源代码是分开版本的。

答案 1 :(得分:0)

像Daniel一样,YAML是最好的方法。当Build定义与分支一起使用时,可以优雅地处理它。

在过去的GUI构建中,当我处理构建定义漂移时,我会使用conditional steps绑定到正在构建的分支上,而不是创建新的构建定义,但是返回可能会很痛苦并更新\维护。

答案 2 :(得分:0)

我认为这是实现我所追求的目标的方法。一旦发布并标记为R1.0,就可以随时使用管道在R1.0的master分支中使用它的标记或提交来构建相同的源代码。

enter image description here

请注意,这表明Dev是该管道的默认分支,因为它还不是我在下面描述的Release管道。我尚未创建它。

我想念什么吗?

相关问题