【发布时间】:2020-07-28 14:33:42
【问题描述】:
如何防止 dev 中的分支合并 |舞台 | master 如果分支名称不以相应的前缀开头? 分支的名称应以添加代码的名称开头。 例如,要接受 master 中的合并请求,则应将分支称为 master / new_merge_config。
请帮忙,如何创建类似的规则?或者你可以不用合并规则吗?
【问题讨论】:
标签: gitlab devops gitlab-ci rules
如何防止 dev 中的分支合并 |舞台 | master 如果分支名称不以相应的前缀开头? 分支的名称应以添加代码的名称开头。 例如,要接受 master 中的合并请求,则应将分支称为 master / new_merge_config。
请帮忙,如何创建类似的规则?或者你可以不用合并规则吗?
【问题讨论】:
标签: gitlab devops gitlab-ci rules
我的 Bash 脚本不是最好的,但您可以创建如下内容:
merging:
stage: validation
only: [merge_requests]
script:
- [[ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" =~ ^master$ ]] && [[ ! "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" =~ ^master ]] && echo 'not allowed merge to master' && exit 1 || echo 'merge master ok'
- [[ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" =~ ^stage$ ]] && [[ ! "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" =~ ^stage ]] && echo 'not allowed merge to stage' && exit 1 || echo 'merge stage ok'
- [[ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" =~ ^dev$ ]] && [[ ! "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" =~ ^dev ]] && echo 'not allowed merge to dev' && exit 1 || echo 'merge dev ok'
查看this list gitlab-ci 上的可用变量
【讨论】: