我们在Azure DevOps有3次回购。我们使用Azure管道运行我们的CI/CD链。回购A是其他回复所使用的工具集。回购B使用A作为子模块,C使用A作为git子模块。
在回购A中创建PR时,我们希望在回购B和C中触发测试管道,并在回购A的PR中具有地位。B和C的管道/运行在运行测试时应该使用PR提交。这是为了避免回购A中的更改在发布时破坏回购B和C。
我们的问题是,我们想要确保使用正确的承诺回购A(在PR),并获得测试结果的回购B和C进入PR。
发布于 2022-06-10 21:13:17
这应该可以通过分支策略中的构建验证策略来实现,但它不会是直接的。
在外壳下,当您在构建验证策略中指定构建时,azure将在临时分支/refs/pull/<id>/merge上将管道排队。它使用表示拉请求元数据的几个附加变量对管道进行排队。当构建完成时,它会将状态消息发送回拉请求,以指示是否满足条件。
微软有几篇关于如何创建自定义PR服务器或使用函数应用程序创建自定义分支策略的文章。这些方法可以用作一种方法,但这两篇文章都建议,在创建拉请求时,它们是基于web钩子调用的。这两篇文章都提到了如何将自定义PR状态消息发送回PR。
如果您想要更多地控制手动重新排队构建验证,理论上您也可以创建一个管道来触发其他repos中的其他管道。
/refs/pull/<id>/merge分支,然后构建+测试。https://stackoverflow.com/questions/72557531
复制相似问题