ethsol
V2EX  ›  GitLab

请教如何保护.gitlab-ci.yaml 不会被其他人修改和 cicd 流程安全

  •  
  •   ethsol · Aug 31, 2022 · 4603 views
    This topic created in 1369 days ago, the information mentioned may be changed or developed.
    比如其他人合并代码,能不能锁定这个文件,或者干脆隐藏
    cicd 流程如果设置只能在 main 分支触发,分支保护设置只有 master 能 push 和 merge 是否足够防止误触发
    7 replies    2026-05-20 17:23:48 +08:00
    AoEiuV020CN
        1
    AoEiuV020CN  
       Aug 31, 2022
    关键你“其他人”是谁,
    pr 的话直接禁止 pr 触发 ci 或者需要手动允许才触发 ci 就可以,
    其他项目参与人的话,我只知道 access token 可以不给 workflow 权限就无法修改 ci 配置,其他方法参与就没办法了,
    ethsol
        2
    ethsol  
    OP
       Aug 31, 2022
    其他人是指普通开发人员,我表述得不清楚
    superwater
        3
    superwater  
       Sep 1, 2022
    @AoEiuV020CN 楼主问的是 GitLab..

    @zong400 这个文件可以指到其他仓库。。
    ethsol
        4
    ethsol  
    OP
       Sep 1, 2022
    @superwater 是指 include 其他仓库的 yaml ? 但是 gitlab-ci 本身还是能被修改吧?
    superwater
        5
    superwater  
       Sep 1, 2022   ❤️ 1
    可以把.gitlab-ci.yaml 放到其他指定的仓库里面,项目设置里面可以指定
    yyttrr
        6
    yyttrr  
       Apr 6, 2023
    抛弃业务代码仓库的,gitlab-ci.yml 文件,或者仅保留基本 check build 功能
    自己写一个 http 服务接收业务代码仓库的 push 动作 webhook
    不同仓库的构建流程在运维平台维护写到数据库里面,运维平台有单独的权限设置
    触发了对应的打包在用 trigger 触发 build 仓库的 job ,把构建参数传进去,进行构建,build 仓库仅运维可见

    这一套支撑百来个研发十几个技术栈几千个代码仓库还是没问题的
    mqnu00
        7
    mqnu00  
       11 days ago
    @superwater #5

    对的,CI 配置放到其他仓库,当前项目在配置里修改成对应的路径

    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2993 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 14:16 · PVG 22:16 · LAX 07:16 · JFK 10:16
    ♥ Do have faith in what you're doing.