• Gerrit的安装和使用说明


    Gerrit安装和使用说明

    搞了几天,资料也查了不少,终于磨出来了。有什么不对的地方,大家及时提出来。。。,开始吧

    系统

    Centos6.5 x64

    内存

    2G

    硬盘

    20G

    数据库

    Mysql5.1

    服务器

    Apache2.2

     

     

     

     

     

    准备

    #yum update
    
    #yum install git
    
    #yum install java-1.7.0-openjdk.x86_64
    
    #yum install mysql-server
    
    #service mysqld start

    配置mysql

    #mysql –u root
    
    -> CREATE USER 'gerrit'@'localhost' IDENTIFIED BY '123';
    
    -> CREATE DATABASE reviewdb;
    
    -> ALTER DATABASE reviewdb charset=latin1;
    
    -> GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';
    
    -> FLUSH PRIVILEGES;

    安装gerrit

    安装文件见【附件】

    1)一直选择默认enter(只有在选择数据库时选择mysql,在选择验证方式时选http)

    #java -jar gerrit-full-2.5.war init -d /var/gerrit-site

    2)Gerrit配置文件如下:(默认路径:/var/gerrit-site/etc/gerrit.conf)

    [gerrit]
            basePath = git
            canonicalWebUrl = http://192.168.1.78:8081/
    [database]
            type = MYSQL
            hostname = localhost
            database = reviewdb
            username = gerrit
    [auth]
            type = HTTP
    [sendemail]
            smtpServer = localhost
    [container]
            user = root
            javaHome = /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre
    [sshd]
            listenAddress = *:29418
    [httpd]
            listenUrl = proxy-http://192.168.1.78:8081/
    [cache]
            directory = cache

    3 ) 添加用户,可以添加多个,这个用户是作为web页面的登陆用户使用的

    # touch /var/gerrit-site/passwd
    
    # htpasswd /var/gerrit-site/passwd  [new-user-name]

    4) 启动、关闭、重启gerrit

    # /var/gerrit-site/bin/gerrit.sh start
    
    # /var/gerrit-site/bin/gerrit.sh stop
    
    # /var/gerrit-site/bin/gerrit.sh restart

    配置Apache

    1)       配置反向代理

    /etc/httpd/conf/httpd.conf
    …
    <VirtualHost *:80>
      ServerName localhost
      ProxyRequests Off
      ProxyVia Off
      ProxyPreserveHost On
    
      <Proxy *>
        Order deny,allow
        Allow from all
      </Proxy>
    
      <Location /login/>
          AuthType Basic
          AuthName "Gerrit Code Review"
          AuthBasicProvider file
          AuthUserFile /var/gerrit-site/password
          Require valid-user
      </Location>
    
      ProxyPass / http://192.168.1.78:8081/
    </VirtualHost>

    2)关闭selinux,需重启

    # vi /etc/selinux/config
    …
    SELINUX=disable
    …

    或者,本次有效

    # setenforce 0

    3) 设置权限

    # chown –R apache:apache /var/gerrit-site 

    4) 关闭防火墙,让局域网用户访问

    # service iptables stop

    5) 重启httpd服务

    # service httpd restart

    Gerrit的使用

    创建项目

    创建branch

     

    配置项目权限

    项目评审过程中,需要几个条件,代码才能最终提交到分支

    l  Review  >=+2

    l  Verify   >=+1

    所以如果配置为每人评审最多只能+1时,则必须最少两人才能完成评审过程,当然也可以让一个用户组可以一次性review +2

     

    配置项目权限时需要根据需要进行配置,选好拥有权限的用户组

     

    客户端获取代码

    Git clone http://[ip]:[port]/[project-name].git

    如git clone http://192.168.1.78/hello.git

    添加或更改文件 提交审核

     

    此处提交代码的位置有点奇怪:HEAD:refs/for/master,其实是gerrit规定的方式,最后的master是分支名称

    提交代码的快捷方式:

    [remote "review"]

      pushurl = http://192.168.1.78/hello.git

      push = HEAD:refs/for/master

    这样以后就直接:

    # git push review

    其中用户密码在webui页面右上角的“setting”à”HTTP Password”

     

    评审

    进入评审界面

    此时可以看到页面有“Review”按钮,点击即可评审代码

     

    评审或确认

    此时可以看到用户一次评审只能+1 这是在项目的access中设置的,此项目评审结果必须>=2才可以提交,所以必须由两个用户分别评审

     

    确认合并

    待满足gerrit对项目的要求(review >=2 verify >=1)后,页面中会出现“submit patch set 1”的按钮,点击将分支合并到主干中

     

    用户会发现,提交完毕后,“revert change”按钮出现,也就是可以revert刚才的提交动作

     

    重新获取代码

    此时在其他地方重新获取项目的分支代码,即可看到代码更新过了

    git pull origin master

  • 相关阅读:
    Unix系统编程(四)creat系统调用
    Unix系统编程(三)通用的I/O
    Unix系统编程(二)open的练习
    FTP协议的粗浅学习--利用wireshark抓包分析相关tcp连接
    Linux上的ftp服务器 vsftpd 之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传
    intelj idea编译项目报错,Error:ajc: The method getDestHost() is undefined
    oracle索引优化
    wireshark 表达式备忘录
    rabbitmq日志记录进出的每条消息
    powerDesigner根据sql脚本来逆向生成pdm等模型
  • 原文地址:https://www.cnblogs.com/smallcoderhujin/p/3937641.html
Copyright © 2020-2023  润新知