ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

ubuntu14 搭建gerrit服务器及使用

2020-02-21 17:09:09  阅读:520  来源: 互联网

标签:取消 sudo gerrit Gerrit 服务器 ubuntu14 上传 转存


Gerrit安装使用指导

 

 

 

简介:本指导主要分三部分组成,一是Gerrit的安装配置,二是本地git的修改提交到Gerrit仓库,三是代码审查说明。

 

 

 

一、依赖组件

Gerrit依赖的组件主要有以下四个:

 

1、        jdk    --Gerrit主要由java实现其功能,所以需要jdk支持;

sudo apt-get install openjdk-7-jdk

查看版本java -version

2、        mysql    --Gerrit审查过程中存储信息的数据库,Gerrit本身自带H2数据库一般不用;

安装mysql

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

3、        Apache2    --主要用到其反向代理功能;

sudo apt-get install apache2

  1.    Gerrit本身相当于是一个Git服务器。

wget https://gerrit-releases.storage.googleapis.com/gerrit-2.12.war

 

  • gerrit安装

 

  1. 添加gerrit用户

sudo adduser gerrit

sudo passwd gerrit

并将gerrit加入sudo权限

vim /etc/sudoers

增加gerrit  ALL=(ALL:ALL) ALL

 

  1. 安装gerrit 到/home/gerrit/review

java -jar gerrit-2.12.4.war init --batch -d ~/review

 

3、配置gerrit   vim /home/gerrit/review/etc/gerrit.config

 [gerrit]

        basePath = git

        #basePath = /home/git/repositories

        canonicalWebUrl = http://192.168.7.209:8080/

[database]

        type = h2

        database = /home/gerrit/review/db/ReviewDB

[index]

        type = LUCENE

[auth]

        type = HTTP

[receive]

        enableSignedPush = false

[oauth]

        allowEditFullName = true

        allowRegisterNewEmail = true

[sendemail]

        #smtpServer = localhost

        enable = true

        smtpServer = smtp.qiye.163.com

        smtpServerPort = 465

        smtpEncryption = SSL

        sslVerify = true

        smtpUser = huchuangao@four-faith.com

        smtpPass = xxx

        from = huchuangao@four-faith.com

[container]

        user = gerrit

        javaHome = /usr/lib/jvm/java-7-openjdk-amd64/jre

[sshd]

        listenAddress = *:29418

[httpd]

        listenUrl = http://*:8081/

[cache]

        directory = cache

 

  • 配置apache2反向代理

1、配置监听端口:

vim /etc/apache2/ports.conf

Listen 80

Listen 808

2、配置反向代理:

cd /etc/apache2/sites-available/

sudo ln -s ../sites-available/000-default.conf

Vim 000-default.conf配置如下

 

<VirtualHost *:8080>

    ServerName 192.168.7.209

    ProxyPreserveHost On

    ProxyRequests Off

    <Proxy *>

        Order deny,allow

        Allow from all

    </Proxy>

    <Location />

      AuthType Basic

      AuthName "Welcomme to Gerrit Code Review Site!"

      Require valid-user

      AuthUserFile /etc/apache2/passwords

    </Location>

    ProxyPass / http://192.168.7.209:8081/

    proxyPassReverse / http://127.0.0.1:8081/

 

    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

 

</VirtualHost>

 

 

3、需要WEB访问的话,使用htpasswd,htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。

cd /home/gerrit/review

touch /home/gerrit/review/passwords

htpasswd -b /etc/apache2/passwords admin 123456(管理员)

htpasswd -b /etc/apache2/passwords gerrit 123456

 

4、开启反向代理

cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/proxy.load

sudo ln -s ../mods-available/proxy.conf

sudo ln -s ../mods-available/proxy_http.load

sudo ln -s ../mods-available/proxy_balancer.conf

sudo ln -s ../mods-available/proxy_balancer.load

sudo ln -s ../mods-available/rewrite.load

sudo ln -s ../mods-available/ssl.conf

sudo ln -s ../mods-available/ssl.load

 

  1. 重启服务

sudo /home/gerrit/review/bin/gerrit.sh restart

sudo /etc/init.d/apache2 restart

 

  1. 访问gerrit 管理界面 http://192.168.7.209:8080/

uploading.4e448015.gif正在上传…重新上传取消

 

 

 

、使用gerrit

 

1.1 账号密码

 

从管理员处获取账号密码后,登录Gerrit:http://192.168.7.209:8080/

 

uploading.4e448015.gif正在上传…重新上传取消

1.2修改名字和邮箱

uploading.4e448015.gif正在上传…重新上传取消

 

如邮箱为xxxx@four-faith.com,则“Full Name”填写为xxxx:

uploading.4e448015.gif正在上传…重新上传取消

 

注册邮箱:注册成功后会给邮箱发送一封邮件,点击链接进行验证(如果某些浏览器无法打开验证链接,复制到IE上打开):

 

 

1.3 添加用户

 

linux下的用户名须和管理员给的Gerrit账号名相同,如果没有,请添加新用户:

 

root@BuildHost:~# adduser gerrit

 

 

1.4 添加ssh密钥

备份.ssh(如果存在的话):

uploading.4e448015.gif正在上传…重新上传取消

 

生成密钥:

rm -rf ~/.ssh

ssh-keygen -t rsa -C “自己邮箱地址”   ###一直按回车键即可

uploading.4e448015.gif正在上传…重新上传取消

 

然后公钥添加到Gerrit:

把 ~/.ssh/id_rsa.pub 内容复制好

uploading.4e448015.gif转存失败重新上传取消

 

粘贴到

uploading.4e448015.gif正在上传…重新上传取消

 

2.1 下载代码

正确配置好邮箱和ssh公钥后,根据Gerrit管理员给出的地址下载代码:

git clone http://192.168.7.209:8080/test_gerrit.git

git clone ssh://admin@192.168.7.209:29418/test_gerrit.git

 

2.2 下载commit-msg脚本

【重要:使用Gerrit必须要有此脚本】

提交前在本地仓库执行

gitdir=$(git rev-parse --git-dir); scp -p -P 29418 admin@192.168.7.209:hooks/commit-msg ${gitdir}/hooks/

 

git commit --amend

 

 

2.3提交代码审核

Gerrit不允许用户直接push代码到分支上(特别授权用户除外),否则报错:

 

uploading.4e448015.gif转存失败重新上传取消

正确的做法是所有提交都push到 HEAD:refs/for/分支名 :

格式如:git push origin HEAD:refs/for/分支名

例1:

当前处于本地分支master 

uploading.4e448015.gif转存失败重新上传取消

代码提交到远程分支master上,则:git push origin HEAD:refs/for/master

uploading.4e448015.gif转存失败重新上传取消

例2:

当前处于本地分支developer

uploading.4e448015.gif转存失败重新上传取消

代码提交到远程分支deleloper上,则: git push origin HEAD:refs/for/developer

uploading.4e448015.gif转存失败重新上传取消

2.4 添加审核者

代码正确提交到分支 refs/for/* 后,需要登录Gerrit界面为刚才的提交添加相应的审核者:

 

登录Gerrit:http://192.168.7.209:8080/, 在“changes”下可以看到刚刚的提交,名称显示为刚刚提交所写的注释

 

uploading.4e448015.gif转存失败重新上传取消

 

点击进入,在“Need Code-Review”下添加相应的代码审核者(请根据自己项目情况添加指定的审核者,此处仅作演示)

uploading.4e448015.gif转存失败重新上传取消

如果审核通过,会收到提示邮件(Code-Review为正数,说明审核通过,但代码未合入分支):

uploading.4e448015.gif转存失败重新上传取消

 

 

代码被合入后,会收到邮件提示(说明代码已经正确提合入到分支):

uploading.4e448015.gif转存失败重新上传取消

2.5 审核失败再提交

当收到审核失败的邮件时(Code-Review为负数,需要记下Change-Id,下一步提交时会用上),需要修改代码重新提交:

uploading.4e448015.gif转存失败重新上传取消

 

修改好代码后,重新提交代码:

【重要:代码审核失败后,重新提交时必须使用 git commit –amend,否则会生成新的评审任务,无法与上一次审核任务关联】

uploading.4e448015.gif转存失败重新上传取消

 

【重要:注释可以重新写,但是其中“Change-Id”必须为上一次审核任务失败的Change-Id,可在Gerrit或者上一步的邮件中查看得到】

uploading.4e448015.gif转存失败重新上传取消

 

 

 

再push代码到Gerrit:

uploading.4e448015.gif转存失败重新上传取消

 

最后无需重复步骤“3.3 提交代码审核”,Gerrit会自动给原来的审核者发送相应邮件

  

3.1 收到审核邮件

 

当有审核任务邮件时,点击链接打开Gerrit

uploading.4e448015.gif转存失败重新上传取消

 

3.2 查阅审核任务

打开审核任务如下:

uploading.4e448015.gif转存失败重新上传取消

3.3 添加其他审核者

如果需要,这里可以添加其他人员审核(需要有审核权限)

uploading.4e448015.gif转存失败重新上传取消

 

3.4 查看修改内容

点击“Side-by-Side”按钮,查看修改内容:

uploading.4e448015.gif转存失败重新上传取消

 

点击“next”查阅下一项修改:

uploading.4e448015.gif转存失败重新上传取消

 

3.5 审核通过/失败

点击“Review”

uploading.4e448015.gif转存失败重新上传取消

 

审核通过:

uploading.4e448015.gif转存失败重新上传取消

 

审核失败:

uploading.4e448015.gif转存失败重新上传取消

 

代码提示被blocked:

uploading.4e448015.gif转存失败重新上传取消

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

alimingh 发布了12 篇原创文章 · 获赞 2 · 访问量 7637 私信 关注

标签:取消,sudo,gerrit,Gerrit,服务器,ubuntu14,上传,转存
来源: https://blog.csdn.net/alimingh/article/details/104430262

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有