如何搭建Gerrit+Jenkins(Hudson)测试环境
来源:互联网 发布:js new一个女朋友 编辑:程序博客网 时间:2024/05/22 02:06
为什么用Gerrit + Jenkins
Gerrit是开源的Code Review工具,被开源社区广泛使用。Jenkins是流行的持续集成工具,支持自定义扩展,目前有600多种plugin扩展,而且支持分布式工作。
谁需要阅读本文
为项目搭建Jenkins测试环境的测试人员。
本文的目标
本问介绍如何将两者结合起来完成以下流程:
1. 开发人员提交一个Code Review Request到Gerrit
|
2.自动触发Jenkins去clone一份code review代码的copy,build,run unit test,...
|
3.将结果发回Gerrit:验证Code review代码的正确性结果,+1或者-1,附有相应的执行结果链接
这里侧重在如何配置Jenkins,略去关于Gerrit的安装和配置。
Jenkins安装和配置
1. 从http://jenkins-ci.org/下载Jenkins最新的war包,https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins介绍了如何启动Jenkins,建议先创建一个单独的目录,存放Jenkins的配置信息,例如在Linux的用户目录下创建JenkinsHome,然后设置环境变量"export JENKINS_HOME=$HOME/JenkinsHome"。默认的JenkinsHome是“$HOME/.jenkins”
2. 启动Jenkins:java -jar jenkins.war,默认端口是8080。
3. 安装Gerrit Plugin和Git Plugin:
访问Jenkins主页:http://server:8080,选择Manage Jenkins-->Manage Plugins,如果你的环境访问Internet需要代理,请先设置proxy:
从“Available”tab中选择Gerrit Plugin和Git Plugin:
点击"Install without restart"完成安装。
4. 设置SMTP服务器
通过Email来告知Jenkins每个Job执行的结果是广泛使用的通知机制,所以有必要设置好SMTP服务器。可以在Manage Jenkins-->Configure System中设置:
5. 设置用户和权限
只有注册用户才能创建job,而匿名用户可以查看执行结果的报告信息。而且如果不打开认证机制,在Build trigger中不会出现"Trigger builds remotely (e.g., from scripts)",这个trigger机制可以和git repository中的hook脚本配合。
进入Manage Jenkins-->Configure Global Security,在Access Control的Security Realm中,选择"Jenkins's own user database",选中"Allow users to sign up"。
在Authorization中,匿名用户只有读权限。加入一个新用户,比如,"admin",拥有所有权限。然后在Jenkins主页上选择sign up,在"Username:"中填入刚刚加入的用户,比如"admin",完成其余输入。然后login。
6. 配置Gerrit Trigger
如下图所示,填入相关Gerrit服务器的信息,以及访问该服务器的合法用户信息。必须保证Jenkins服务器上保存了SSH keyfile和password
7. 创建一个job
7.1 当有开发人员提交一个Code Review Request的时候,Gerrit触发Jenkins去下载这个patch,并build。
7.2 配置Source Code Management,选择Git,展开两个"Advance":
在strategy中选择Gerrit Trigger:
7.3 配置Gerrit Trigger
选择两个Trigger on的事件:Patchset Created和Draft Published,填上Gerrit服务器上的项目名和要检测的branch正则表达式。
7.4 Build脚本
该脚本将会选择这个Job所在的目录为工作目录:$JENKINS_HOME/workspace/${JOB}。这里用hadoop的build命令作为例子,build_result.txt里面保存了编译成果或者失败的提示信息。
7.5 提取测试结果,发邮件通知
- 如何搭建Gerrit+Jenkins(Hudson)测试环境
- 【Gerrit】Gerrit与Jenkins/Hudson CI服务器搭建
- 如何搭建Jenkins持续集成测试环境
- jenkins搭建测试环境
- Git、Gerrit与Jenkins/Hudson CI服务器
- Git、Gerrit与Jenkins/Hudson CI服务器
- Git、Gerrit与Jenkins/Hudson CI服务器
- Git、Gerrit与Jenkins/Hudson CI服务器
- Git、Gerrit与Jenkins/Hudson CI服务器
- Git、Gerrit与Jenkins/Hudson CI服务器
- Git、Gerrit与Jenkins/Hudson CI服务器
- Linux 环境下搭建 Jenkins(Hudson)平台
- Linux 环境下搭建 Jenkins(Hudson)平台
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- Excel2003,2007,2010,2013导入导出sqlserver
- Poco C++ 日志框架使用 Pcoco Logger
- Argo源码阅读(一):Jetty
- CStdioFile和CFile对文件异常的处理
- 消除maven的编码字符集告警
- 如何搭建Gerrit+Jenkins(Hudson)测试环境
- Android平台如何使用第三方jar包文件
- Spring中的四种声明式事务的配置
- wfilters小波滤波器
- chown chmod usermod命令的使用
- What is Socket?
- 485总线与CAN总线的区别
- C语言文件操作详解
- wget 使用技巧