CentOS中gerrit + jenkins整合
2015-07-31 10:54
585 查看
原理:
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
参考:http://wenku.baidu.com/link?url=EveQEqIINRKdYAshnah41PaG0ZNe9hBPcc6jqQLDJlfj_TsI7dscF0OkVKD0wG9dAv7-Jndw7a-
aACSKRC_yw3fT_S8Btep3GIXi-lozvGW
一、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的配置:
Hostname: gerrit服务器的主机名或者IP地址
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
选择两个Trigger on的事件:Patchset Created和Draft Published,填上Gerrit服务器上的项目名和要检测的branch正则表达式。
例如(分支以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
好文参考:/article/8310245.html
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
参考:http://wenku.baidu.com/link?url=EveQEqIINRKdYAshnah41PaG0ZNe9hBPcc6jqQLDJlfj_TsI7dscF0OkVKD0wG9dAv7-Jndw7a-
aACSKRC_yw3fT_S8Btep3GIXi-lozvGW
一、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的配置:
Hostname: gerrit服务器的主机名或者IP地址
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
选择两个Trigger on的事件:Patchset Created和Draft Published,填上Gerrit服务器上的项目名和要检测的branch正则表达式。
例如(分支以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
好文参考:/article/8310245.html
相关文章推荐
- CentOS 7安装JDK
- Centos7 - corosync + pacemaker + pcs cluster
- linux下Makefile的简单例子及解释
- Linux用户模式和内核模式
- linux 压缩与解压总结
- Linux - 文件权限
- Linux - 文件权限
- linux常用命令
- 信号量、互斥体和自旋锁
- linux下发现可疑用户时处理办法
- linux普通用户使用root权限
- linux记录----date使用初记
- Linux服务器使用SSH的命令
- win10来了,linux你准备好了吗?
- 如何向 Linux 内核提交驱动
- linux笔记
- Linux下Qt开发环境的搭建
- 【Linux】反单引号``的用法,declare的用法
- Linux常用命令大全
- 使用磁盘为Linux添加swap