收到“拉取请求”时,在另一个构建完成时触发构建

时间:2019-06-14 20:38:13

标签: azure-devops azure-pipelines

我们在Azure DevOps存储库中有一个Web应用程序,并且master分支上有一个分支策略,该分支策略在创建请求请求时启动构建。这可以验证它是否已编译并执行代码质量检查等。

我们还有一些集成测试(使用Mocha和Selenium),这些集成测试位于另一个存储库中。创建针对master的PR时,我想运行集成测试。

据我所知,我不能从两个不同的存储库中获得相同的构建请求(不使用扩展,无论如何我似乎拥有两个分离的构建都比较干净)。因此,我想我将拥有另一个版本来运行集成测试。从webapp存储库中提取的构建将有最后一步,它将部署到集成测试环境中,然后第二个构建将获取最新版本的集成测试并在集成测试环境中运行它们。我在集成测试构建上创建了一个构建完成触发器,该触发器由webapp构建的完成触发。

问题在于,当我手动将webapp构建排队时,完成后它将启动集成测试构建。但是,当Web应用程序构建由传入的PR排队时,集成测试构建不会被触发。

这是Azure DevOps中的错误还是我要解决这个错误?

1 个答案:

答案 0 :(得分:0)

在我这边,PR的构建也不会触发其他构建(带有Build Completion触发器),我也不知道这是错误还是设计使然。

无论如何,有一种解决方法-第一次构建的最后一步将触发第二次构建。怎么样? Trigger Build任务。

您只需要更改分支,因为它将是PR中的合并分支,而测试存储库中不存在该分支:

enter image description here

您也可以不使用PowerShell任务和Rest API安装扩展程序。

相关问题