【问题标题】:Gitlab pipeline checkout accessGitlab 管道结账访问
【发布时间】:2019-07-16 22:07:55
【问题描述】:

我正在 git lab 社区版中尝试管道。

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

在我的场景中,管道由 devops 团队负责,代码由开发团队负责。

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

谢谢

【问题讨论】:

    标签: gitlab gitlab-ci


    【解决方案1】:

    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` 文件)。

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

    【讨论】:

      猜你喜欢
      • 2020-09-08
      • 2021-10-10
      • 2022-01-09
      • 2020-11-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多