我已经像这样写了一个简单的gitlab-ci.yml
。
job1:
script:
- echo hello
当前,每当将提交推送到任何分支时,脚本就会触发。
如何配置gitlab-ci,使其仅在将合并请求合并到master分支后才触发此脚本?
我找不到only
关键字来实现我的目标的方法。
Merge request events
页面中有一个Settings -> Integrations
选项,该选项似乎提供了与我想要的功能接近的功能。
答案 0 :(得分:0)
基于问题here,在合并请求合并后,我使用gitlab-webhook-translator来触发脚本。
此处的关键是将条件设置为":object_kind == 'merge_request' && :object_attributes.work_in_progress === false && :object_attributes.state == 'merged'"
。
我要提到的另一件事是,我们必须选中gitlab中的Allow requests to the local network from hooks and services
框,以便可以使用gitlab wbehooks。
我使用a simple web server检查gitlab发送的请求。这就是我发现gitlab-webhook-translator条件的:object_attributes.state == 'merged'
选项的方式。