如果分支名称不是以对应的前缀开头,如何防止dev | stage | master中的分支合并?分支的名称应以添加代码的位置的名称开头。例如,为了接受master中的合并请求,分支应该称为master / new_merge_config。
请帮帮忙,如何创建类似的规则?或者你可以不使用合并规则吗?
发布于 2020-04-15 23:24:02
我的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'在gitlab-ci上查看带有可用变量的this list
https://stackoverflow.com/questions/61231846
复制相似问题