Gitlab特定来源的分支合并

问题描述 投票:0回答:1

我在gitlab称为devops一个分支,我想用master分支合并我devops分支。不过,我不希望任何其他分支发出与devops分支合并请求。可能吗?

基本上,对于作为devops而合并目标分支,只有master可以是源分支。可以自定义一些做才能够做到这一点?或使用任何脚本?

git merge gitlab git-branch
1个回答
0
投票

据我所知,有没有简单的方法来告诉GitLab其被允许的分支合并到这等分支机构。如果您正在使用GitLab CI有一种方法来达到你想要什么,虽然。

如果你到你的项目上GitLab,然后设置 - >通用 - >合并请求。在那里,你会发现一个复选框,上面写着“只允许如果管道成功合并请求合并”。

然后,你必须建立一个管道为您的项目,你应该能够找到这个教程和文档。有那么两个分别名为“CI_MERGE_REQUEST_SOURCE_BRANCH_NAME”和“CI_MERGE_REQUEST_TARGET_BRANCH_NAME”环境变量。这些由GitLab当管道被合并请求上下文中运行设置。

下面是预定义的所有变量的列表。 https://docs.gitlab.com/ce/ci/variables/#predefined-environment-variables

然后,您可以设置为所有其他作业之前运行的作业,但前提是合并请求。是没有用的,否则要检查这些变量!一个例子是这样的:

stages:
  - merge-check
  - build
  - test

allowed-merge:
  stage: merge-check
  script:
    - check-branches # This command is different depending on if you run cmd/bash 
  only:
   - merge_requests

用于检查分支名的脚本可以根据您的gitlab亚军在执行上有所不同。应该检查这两个环境变量,返回0,如果分支是正确的,否则返回1。

这样做,这样不会停止从正在创建的合并请求,但没有办法接受,不遵循所需的规则合并请求。

© www.soinside.com 2019 - 2024. All rights reserved.