GitLab如何在含WIP的提交/合并请求中跳过触发Codemagic构建Webhook?
GitLab实现WIP提交/合并请求跳过Webhook触发的方案
GitLab本身支持通过**Webhook规则(Rules)**实现这个需求,不过要求你的GitLab版本在15.4及以上(该版本开始引入Webhook规则功能)。具体配置步骤如下:
1. 针对推送事件(Push)的配置
- 进入GitLab项目的「设置」→「Webhooks」,找到你配置的Codemagic Webhook
- 展开「Rules」区域,点击「Add rule」
- 选择「Push events」作为事件类型
- 设置规则条件:
Commit message→Does not match regex→ 输入WIP(如果需要忽略大小写,可使用(?i)WIP)
2. 针对合并请求事件(Merge Request)的配置
- 同样在Webhook的「Rules」区域添加新规则
- 选择「Merge request events」作为事件类型
- 设置规则条件:可选择
Merge request title或Merge request description→Does not match regex→ 输入WIP(或(?i)WIP)
如果你的GitLab版本低于15.4,无法使用Webhook规则,也可以在Codemagic的构建配置中做判断:
- 在Codemagic工作流脚本开头,读取提交信息或MR标题,若包含「WIP」则直接终止构建
- 示例脚本:
COMMIT_MESSAGE=$(git log --format=%B -n 1 $CM_COMMIT) if [[ $COMMIT_MESSAGE == *"WIP"* ]]; then echo "WIP commit detected, skipping build" exit 0 fi
通过以上方案,就能实现当提交或MR包含「WIP」时不触发(或触发后终止)构建的需求。
内容的提问来源于stack exchange,提问作者Prieyudha Akadita S
相关产品推荐
相关产品推荐

