无法触发Azure DevOps中的拉取请求发布

时间:2019-06-26 16:54:14

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

我已经通过以下方式设置了拉取请求释放触发器。

每当成功完成向该分支的拉取请求时,我都希望从VerifyApiTestEnvironment分支部署工件。

enter image description here

这是我的文物的样子。

enter image description here

这是我的CD触发器的样子。

enter image description here

这是我的部署前条件的样子。

enter image description here

这是我的政策屏幕的外观。

enter image description here

这是我的分支结构的外观。当我完成针对VerifyApiTestEnvironment分支的拉取请求时,我总是在构建中遇到一个错误,说source分支缺少master的更改。这可能是什么原因?

每次我将更改提交到featureBranch时,我都会打开一个请求请求,将其合并到VerifyApiTestEnvironment分支中。 我希望每次执行此操作都会触发一个版本,然后触发一个部署,但是不会触发该版本。

我是否缺少与配置PR触发器相关的内容?

1 个答案:

答案 0 :(得分:3)

您的设置存在一些问题。正如Daniel所说,它被用来设置为已创建PR的部署。此外,如果要在PR完成后立即进行部署,则此版本的来源应为存储库而不是构建管道。

因此,首先,您需要将发布源更改为 Azure存储库

enter image description here

然后启用连续部署触发器。 PR完成后,这意味着代码更改将合并到存储库的目标分支中。因此,需要启用此功能,否则PR完成后将不会触发部署。

enter image description here

此外,您需要设置分支过滤器,否则无论更改哪个分支,部署都会被触发。在这里,我设置为仅合并到master分支(PR目标分支为master)可以触发此CD。

enter image description here

对于此选项,它仅用于PR创建的触发器部署。由于您只想完成PR触发的部署,因此不需要启用它。

现在,如果您的主服务器具有仅在创建和验证PR后才成功应用代码更改的策略,则CD将仅在PR完成后才执行。

对于某些策略配置,构建策略用于设置构建触发器,而状态策略用于触发发布。

因此,根据您的策略设置,它用于首先触发构建,然后该构建将触发发行版。在PR完成后,它并不会直接触发部署。

enter image description here