CentOS中gerrit + jenkins整合

来源:互联网 发布:仿左左网源码百度网盘 编辑:程序博客网 时间:2024/05/10 13:25

原理:

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 

     gityum安装)  

                     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 CreatedDraft 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




好文参考:http://blog.csdn.net/williamwanglei/article/details/38498465
















0 0
原创粉丝点击