1

所以我有一个应用程序拆分为 4 个不同的存储库,它们都有自己的 Azure Pipeline 构建。但是这 4 个构建的工件被部署在一个版本中(到一个应用程序中)。

在其中一个存储库中的我们的开发分支上签入(拉取请求合并)时,启动了该存储库的构建。当此构建完成时,将使用新完成的构建工件 + 3 个旧工件触发发布,该工件基于来自其他存储库的“来自带有标签的构建管道默认分支的最新版本”。所以总是来自开发(dev)分支的最新版本。

现在我们还想为在不同存储库中创建的每个拉取请求部署一个环境,以便我们的业务可以测试拉取请求。

我已经完成了发布管道(环境的实际部署),但不确定如何正确选择工件。在拉取请求分支上构建之后,我需要使用来自该触发构建的拉取请求工件 + 来自其他 3 个构建的最新开发分支工件开始发布。

手动我可以启动一个新版本,默认情况下它会选择所有开发工件,但手动我可以为 PR 分支选择正确的工件并开始正确的部署。但我想自动化(触发)这个。

如何配置此自动触发器?我可以使用标签吗?还是我以错误的方式思考这个问题?

编辑

我最终通过使用具有不同工件过滤器的 4 个不同阶段来设置它。每个工件都有一个阶段。对于该工件,我们允许 dev_* 并且所有其他工件都需要来自 dev_。这样,每个工件触发器都会触发正确的阶段,为其他人选择功能分支和开发分支。

这不是理想的解决方案,因为它确实需要一些重复的代码,但通过使用任务组,我已经能够最大限度地减少这种情况。但现在我没有看到更好的解决方案。 Azure 管道中的 3 个阶段

4

0 回答 0