我写了一个像这样的简单的 gitlab-ci.yml
。
job1:
script:
- echo hello
目前,只要将提交推送到任何分支,就会触发脚本。
如何配置 gitlab-ci 使这个脚本只在 merge 请求 merge 到 master 分支后触发?
我在 only
中找不到如何实现我的目标关键词。
Settings -> Integrations
页面中有一个Merge request events
选项,似乎提供了接近我想要的功能。
最佳答案
基于问题here , 我用 gitlab-webhook-translator在 merge 请求 merge 后触发脚本。
这里的关键点是设置条件为":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'
选项。
关于git - 如何仅在 merge 请求 merge 后触发 bash 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53111869/