beryl
V2EX  ›  问与答

gitlab 如何强制 code review

  •  
  •   beryl · Dec 10, 2021 · 3007 views
  •   You need to sign in to view this topic
    This topic created in 1642 days ago, the information mentioned may be changed or developed.

    RT.

    期望不论谁提交的代码,至少需要其他人打分之后才可以通过

    首先团队里面目前是认同 CR, 但是 gitlab 没有办法做强制 review, 也没查到很好的方案。

    20 replies    2021-12-13 09:12:19 +08:00
    dilu
        1
    dilu  
       Dec 10, 2021
    没用的,时间一久就会流于形式
    ebingtel
        2
    ebingtel  
       Dec 10, 2021
    设置保护分支 没有 review ,就不能合并啊?
    amundsen
        3
    amundsen  
       Dec 10, 2021   ❤️ 1
    可以设置机器人的,我公司就是这样做的
    cnoder
        4
    cnoder  
       Dec 10, 2021
    不让 merge ,必须提 merge request 给别人呗
    66beta
        5
    66beta  
       Dec 10, 2021
    收回 merge 权限啊
    zhangyichent
        6
    zhangyichent  
       Dec 10, 2021
    我以前公司是有一个工具的,就是安装一下,你提交代码之前就必须从这个工具走 git ,他会发邮件给你指定的几个人。。。不过忘了叫啥了
    beryl
        7
    beryl  
    OP
       Dec 10, 2021
    @cnoder
    @66beta
    @ebingtel
    是的,但是都有 merge 权限,如果收回 merge 权限,会导致,只有一两个人可以 merge, 期望的是可以交叉 review
    SoloCompany
        8
    SoloCompany  
       Dec 10, 2021 via iPhone
    新版的支持 approve 啊,可以收回 merge 权限,分配 reviewer ,要求必须经过 approval 才允许 merge ,负责 merge 的人不需要负责 review
    clf
        9
    clf  
       Dec 10, 2021 via Android
    @beryl 可以取消 mr 权限,弄个机器人账号有权限,机器人脚本监听到非提交 mr 本人 review 后自动合并。
    beryl
        10
    beryl  
    OP
       Dec 10, 2021
    @SoloCompany 这个需要企业付费版本
    qianlifeng
        11
    qianlifeng  
       Dec 10, 2021
    我们是创建了一个 git alias `git config --global alias.review '!sh review.sh'`, 在 review.sh 脚本里面自动创建新的分支,然后提交 pull request, 并提醒需要 review 的人去 review. review 的人 review 完了可以在 gitlab 上面点 merge 就行. 使用的时候`git review [somebody]`就行, 当然需要关闭 gitlab 的直接 push 功能,防止某些人误操作. 只是一个思路, review.sh 怎么弄看你们自己发挥
    Leviathann
        12
    Leviathann  
       Dec 10, 2021
    只给测试和 tech lead merge 权限
    SoloCompany
        13
    SoloCompany  
       Dec 11, 2021 via iPad
    @beryl 我们用的是 13 ,好像并不是 ee 专有的功能
    beryl
        14
    beryl  
    OP
       Dec 11, 2021
    @SoloCompany 表达错误了,现在这种模式我们也是有的,但是有个问题是,如果把 merge 权限收回来,团队里面可能只有两个人有权限,这样这两个人可能会成为瓶颈,期望的是,自己提交的至少非本人来 review 即可以。
    horizon
        15
    horizon  
       Dec 11, 2021 via Android
    写个 chrome 插件或者注入脚本,自己的 mr 不让点 merge
    beryl
        16
    beryl  
    OP
       Dec 11, 2021
    @horizon 这是个好玩但是不好执行的思路。。。毕竟不是每个人都用 chrome
    zhangyichent
        17
    zhangyichent  
       Dec 11, 2021
    gerrit 对了,叫这个。
    SoloCompany
        18
    SoloCompany  
       Dec 11, 2021
    @beryl 你还是没理解, 关键在于 review 权限和 merge 权限分开, 既然你不需要控制 merge 只希望控制 review, 而又懒的找个人去点按钮, 甚至可以写个 robot 在 reviewer 点 approve 的同时自动 merge

    当然, 如果开发者完全不配合, 自己点 approve 按钮, 而又不想分配人员来行使复核并 merge 的责任, 那么你可以让 robot 只是简单的检查 approver 必须和 submitter 不同, 也就是说 submitter 必须找个人帮他点 approve 按钮
    horizon
        19
    horizon  
       Dec 12, 2021 via Android
    @zhangyichent 试试 nginx 注入 js 脚本
    ebingtel
        20
    ebingtel  
       Dec 13, 2021
    @beryl 每个人提交 mr 之后,可以 @别人 review ,不需要合并者处理……不过这个步骤,不是强制的……可以通过 gitlab 的 web hook 接口,发现有 mr 时,就发个通知给随机某个人处理
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3413 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 11:41 · PVG 19:41 · LAX 04:41 · JFK 07:41
    ♥ Do have faith in what you're doing.