【问题标题】:Disallow merge of specific branches in GitLab-CI不允许合并 GitLab-CI 中的特定分支
【发布时间】:2020-07-28 14:33:42
【问题描述】:

如何防止 dev 中的分支合并 |舞台 | master 如果分支名称不以相应的前缀开头? 分支的名称应以添加代码的名称开头。 例如,要接受 master 中的合并请求,则应将分支称为 master / new_merge_config。

请帮忙,如何创建类似的规则?或者你可以不用合并规则吗?

【问题讨论】:

    标签: gitlab devops gitlab-ci rules


    【解决方案1】:

    我的 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 上的可用变量

    【讨论】:

      猜你喜欢
      • 2021-05-21
      • 2021-12-24
      • 2018-05-26
      • 2019-04-06
      • 2022-01-10
      • 2020-05-09
      • 1970-01-01
      • 2020-03-06
      • 2019-03-15
      相关资源
      最近更新 更多