我已经通过以下方式设置了拉取请求释放触发器。
每当成功完成向该分支的拉取请求时,我都希望从VerifyApiTestEnvironment
分支部署工件。
这是我的文物的样子。
这是我的CD触发器的样子。
这是我的部署前条件的样子。
这是我的政策屏幕的外观。
这是我的分支结构的外观。当我完成针对VerifyApiTestEnvironment
分支的拉取请求时,我总是在构建中遇到一个错误,说source分支缺少master的更改。这可能是什么原因?
每次我将更改提交到featureBranch
时,我都会打开一个请求请求,将其合并到VerifyApiTestEnvironment
分支中。
我希望每次执行此操作都会触发一个版本,然后触发一个部署,但是不会触发该版本。
我是否缺少与配置PR触发器相关的内容?
答案 0 :(得分:3)
您的设置存在一些问题。正如Daniel所说,它被用来设置为已创建PR的部署。此外,如果要在PR完成后立即进行部署,则此版本的来源应为存储库而不是构建管道。
因此,首先,您需要将发布源更改为 Azure存储库:
然后启用连续部署触发器。 PR完成后,这意味着代码更改将合并到存储库的目标分支中。因此,需要启用此功能,否则PR完成后将不会触发部署。
此外,您需要设置分支过滤器,否则无论更改哪个分支,部署都会被触发。在这里,我设置为仅合并到master分支(PR目标分支为master)可以触发此CD。
对于此选项,它仅用于PR创建的触发器部署。由于您只想完成PR触发的部署,因此不需要启用它。
现在,如果您的主服务器具有仅在创建和验证PR后才成功应用代码更改的策略,则CD将仅在PR完成后才执行。
对于某些策略配置,构建策略用于设置构建触发器,而状态策略用于触发发布。
因此,根据您的策略设置,它用于首先触发构建,然后该构建将触发发行版。在PR完成后,它并不会直接触发部署。