原理:
1、开发人员提交一个code review request到Gerrit
2、自动触发jenkins去clone一份code review代码,进行build,run test等
3、将结果返回给Gerrit,验证code review代码的正确性,+1或者-1,附有相应的执行结果连接
前置环境:jdk1.7(设置好环境变量 ps:一般如果yum安装jdk的话,安装目录一般为/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79)
git(yum安装)
Maven 3.0.5(设置环境变量)
jenkins安装包:jenkins-1.620-1.1.noarch.rpm
gerrit安装包:gerrit-2.7.war(推荐使用默认H2数据库,换mysql过程中没有成功)
nginx(用作代理)如果yum安装不行的话,添加nginx的源:在/etc/yum.repos.d/下新建一个nginx.repo,内容如下:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
一、Gerrit安装
一般命令:java -jar gerrit-2.7.war init -d review_site
使用默认的H2数据库,也可以Mysql(试过,但没有成功)
auth:http
port:8082,尽量不与常用的端口冲突
其它基本安装默认,回车---
成功后,在review_site目录下的etc目录下的gerrit.config的内容大致如下:
[gerrit]
basePath = git
canonicalWebUrl = http://localhost/gerrit/
[database]
type = h2
database = db/ReviewDB
[auth]
type = HTTP
[sendemail]
smtpServer = localhost
[container]
user = root
javaHome = /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:8082/gerrit/
[cache]
directory = cache
设置后:可以通过http://localhost:8082/gerrit/进行访问
设置nginx代理
vim /etc/nginx/conf.d/default.conf 添加
location /gerrit/ {
proxy_pass http://127.0.0.1:8082;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
auth_basic "Gerrit Code Review";
auth_basic_user_file /etc/nginx/passwd/gerrit2.passwd;
}
设置成功后,service nginx reload
可以通过http://localhost/gerrit进行访问
二、jenkis安装
在jenkins启动后,有可能在系统管理-à插件à可用插件里没有插件列表,重启jenkins试试,
实在不行的话可以手动安装gerrit-trigger(.hpi格式)。可能需要的前置插件(scm-api.hpi git-client.hpi git.hpi
参考:https://wiki.jenkins-ci.org/display/JENKINS/Plugin
1、jenkins---》系统管理-----》Gerrit Trigger中gerrit server的配置:
Frontend URL: gerrit web页面的地址
SSH Port: 29418
Username: 登陆gerrit的用户名: 如gerrit2
email:同上用户名gerrit2的email
SSH Keyfile: /var/lib/jenkins/.ssh/id_rsa (如果jenkins下的.ssh为空,把之前gerrit2用户主目录下的(通过ssh-keygen -t rsa产生的)id_rsa id_rsa.pub knowhosts复制到该目录下)
2、----配置 gerrit trigger
例如(分支以testing开头的:^testing.*$) 参考:http://blog.csdn.net/penngrove/article/details/8731709
ps:jenkins--->系统管理--->系统设置 记得配置Maven, jdk等
关于gerrit上没有出现Verified label,参考:http://openwares.net/linux/gerrit_add_verified_label.html
好文参考:http://blog.csdn.net/williamwanglei/article/details/38498465