• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    gerrit 添加用户 clone review 提交流程

      in  unix      Tags: 

    吐槽一下,在使用方面,gerrit要比gitlab复杂的。除了代码review功能外,其他的真的没有gitlab好用。希望gerrit越来越好。

    1,登录gerrit后台,创建用户组和项目,网上有很多这种手册就不详细说了

    2,生成普通用户公钥和私钥

    $ SSH-KEYgen -t rsa

    3,配置私钥连接服务器

    $ cat ~/.ssh/config   //如果没有这个文件,创建之
    
    Host 192.168.0.12
    Hostname 192.168.0.12
    User tank
    IdentityFile /Users/zhangying/.ssh/tank

    这里的User最好根创建的用户一样。

    4,登录到linux服务器,创建gerrit用户

    $ htpasswd -m /home/gerrit/gerrit_web/etc/passwords tank

    -m增加用户,添加完用户后,要重启一起Nginx

    5,gerrit后台,将添加的tank用户放到用户组中

    6,登录tank账号,添加邮箱,将公钥放到gerrit后台

    上面的4,5,6步可以通过一条命令来实现。

    $ cat ~/home/tank/.ssh/id_rsa.pub | ssh gerrit gerrit create-account --full-name tank --email tank.zhangying@xxxxx.com --SSH-KEY - tank

    7,clone项目

    $ git clone SSH://tank@192.168.0.12:29418/dtutor.git

    注意开放29418端口

    8,git设置用户名和邮箱

    $ git config user.name tank
    $ git config user.email tank.zhangying@leoedu.com

    不要加global,不然全局的都会变掉。到clone的项目根目录下就行。

    用户名和邮箱必须和添加的用户名和邮箱一样。不然会报以下错误。

    MacBook-Pro:mytest zhangying$ git push
    Counting objects: 3, done.
    Writing objects: 100% (3/3), 280 bytes | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    remote: Processing changes: refs: 1, done
    remote:
    remote: ERROR: In commit 3d4f444de7ec17549812a30550ca286fc30bd0c8
    remote: ERROR: committer email address zhangying@zhangyingdeMacBook-Pro.local
    remote: ERROR: does not match your user account and you have no 'forge committer' permission.
    remote: ERROR:
    remote: ERROR: The following addresses are currently registered:
    remote: ERROR: tank.zhangying@xxxx.com
    remote: ERROR:
    remote: ERROR: To register an email address, please visit:
    remote: ERROR: http://gerrit.xxxx.com/#/settings/contact
    remote:
    remote:
    To SSH://192.168.0.12:29418/dtutor.git
    ! [remote rejected] master -> refs/for/master (invalid committer)
    error: failed to push some refs to 'SSH://tank@192.168.0.12:29418/dtutor.git'

    9,gerrit拒绝直接提交代码到master

    $ git config remote.origin.push refs/heads/*:refs/for/*

    将代码提交到当前分支的head分支下,等代码审核后,由审核人员决定是否merge到master分支。

    到这儿,用户就可以提交代码了。

    10,commit msg copy到本地项目中

    $ git rev-parse --git-dir  //查看当前项目,git配置目录
    $ scp -p -P 29418 tank@192.168.0.12:hooks/commit-msg .git/hooks/

    11,设置watched projects

    gerrit后台=》people=》右上角自己的名字点击=》settings=》左边导行选择watched projects=》查找project=》选择关注的项目=》把相关的复选框全选上

    开发人员,code review人员,审核人员都要进行这步操作。

    12,项目用户组权限设置

    gerrit项目用户权限设置

    gerrit项目用户权限设置

    上图添加了4个权限,read,label code-review,label verified,submit,每个权限对应不同的,用户组。不要个性all project的默认权限,不然所有项目都会被改变。

    13,tank提交提交代码,然后代码review人员,审核人员登录后台都通过后,代码就会merged到master分支了。

    gerrit代码提交,审核,发布到master分支

    gerrit代码提交,审核,发布到master分支



    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开