Gitlab管道结帐访问

时间:2019-02-22 18:53:28

标签: gitlab gitlab-ci

我正在尝试在git Lab社区版中使用管道。

据我所知,从gitlab来看,代码和管道都位于同一个git存储库中。

在我的场景中,管道是devop团队和开发团队的代码的责任。

在git实验室中,如何防止开发人员更改管道? 我知道可以将devops团队添加为维护者来审查请求请求,但这会在每次更改中创建devops团队的依存关系。

谢谢

1 个答案:

答案 0 :(得分:0)

GitLab并非真正针对您所描述的场景而设计。通常的想法是,开发人员自己负责配置CI。

您可以尝试使用includes feature将大量CI配置存储在单独的存储库中。

在应用程序存储库中,您将拥有一个.gitlab-ci.yml文件,该文件使用include-project从另一个存储库中提取CI配置:

include:
  - project: 'my-group/my-ciproject'
    ref: master
    file: '/ci/.gitlab-ci-myappproject.yml'

然后在my-group / my-ciproject存储库中,您将拥有一个文件.gitlab-ci-myappproject.yml,其中包含GitLab CI作业配置。

build:
  script:
    - dobuild

只有DevOps团队可以访问my-group / my-ciproject存储库,因此开发人员无法编辑CI配置(尽管可能会干扰应用存储库中的.gitlab-ci.yml`文件)。 / p>

或者,您可以保护master分支,并在合并到master之前批准所有更改。这样开发人员将无法在未经批准的情况下对CI进行更改。