【指导】Jenkins集成Gerrit
2015-10-09 17:23
323 查看
【说明】其实Jenkins官网的指导已经很详细了(对于会的人而言),鉴于0基础0背景的缘故,其中还是有些磕磕绊绊,特此将其记录下来,供后来人参考:)
一、前提:Gerrit权限配置
1,账号基本配置:
在Gerrit网站上给Jenkins用户添加key:
key生成的方法:
2,群组配置:
在Gerrit网站上 > Admin > Groups> Non-Interactive Users > 添加Jenkins用户:
3,权限配置:
在Gerrit网站上 Admin > Projects > ... > Access > Edit
Reference: refs/*
Read: ALLOW for Non-Interactive Users
Reference: refs/heads/*
Label Code-Review: -1, +1 for Non-Interactive Users
Label Verified: -1, +1 for Non-Interactive Users
Global Capabilities
Stream Events: ALLOW for Non-Interactive Users
二、Gerrit trigger插件安装:
1,克隆安装:git pullhttps://github.com/jenkinsci/gerrit-trigger-plugin.git
master:master(未尝试)
2,在线安装:
从“Available”tab中选择 Gerrit Plugin和 Git Plugin,点击"Installwithout restart"完成安装。
三、Gerrit trigger插件配置:
1,入口:Manage Jenkins > Gerrit Trigger > Add New Server:
添加后,需要在倒三角出修改(我在这里被坑了好久。。各个版本可能不一样,不一样的话,仔细找找。。)
2,Server settings:
name:给gerrit服务器起个名字
Hostname:gerrit服务器的主机名,比如review.domain.tld
Frontend URL:通过什么URL可以直接访问到gerrit,比如http://review.domain.tld/
SSH Port:Gerrit服务器的SSH服务端口,比如29418
Username:Jenkins访问Gerrit服务器使用的账户名,填入在gerrit服务器为jenkins分配的账户名,比如jenkins
SSH Keyfile:访问Gerrit SSH的私钥,如:/var/lib/jenkins/.ssh/id_rsa
填写完后点击"TestConnection"验证。没问题了保存退出重启链接就可以了。
四、Jenkins Project配置:
1,首先,加几个参数:GERRIT_REFSPEC/GERRIT_BRANCH/……(视情况而定,需要了就加):
2,源码管理:选择Git:
Repositories -> Repository URL,输入访问git仓库的ssh路径,比如ssh://jenkins@121.42.47.103:29418/test/ci.git
这里需要注意下,希望检查库上的分支,还是gerrit上的change:
3,构建触发器:选择Gerrit
event:
1)Gerrit Trigger:
Choose a server------选择前面步骤配置好的gerrit服务器
Trigger on event-----保存后默认会自己加上PatchsetCreated和Draft Published,当提交新的patchset后,
jenkins自动为gerrit做verify工作。
可自定义选项(源自官网):
Draft Published: Sent when a change moves from draft state to new. (only available in version 2.5 or higher of Gerrit).
Patchset Created: Sent when a new patchset arrives on a change. Before version 2.6.0, this was the only event you could trigger on.
Change Merged: Sent when a change is merged on the Gerrit server.
Comment Added: Sent when a comment is added to a change. Which category and value to trigger on can be configured. The available categories can be configured in the server settings for the plugin.
Ref Updated: Sent when a ref is updated on the Gerrit server, i.e. someone pushes past code review.
2)Gerrit Project:
仓:
单个的:type选择plain,pattern输入工程名
所有的:type选path,pattern填**
分支:
单个的:type选plain,pattern输入分支名
所有的:type选path,pattern填**
3)Build:
选择Excute shell,输入构建脚本就好了~
手工触发试试:
成功了!
看看Gerrit:
也成功了!
自动触发试试:
也成功了!每次gerrit服务接收到开发人员提交的changes,都会通知jenkins,自动verify就行了,不要开发人员去手工编译工程。
一、前提:Gerrit权限配置
1,账号基本配置:
在Gerrit网站上给Jenkins用户添加key:
key生成的方法:
$su - jenkins
$ssh-keygen -t rsa
$cat ~/.ssh/id_rsa.pub # 把公钥内容复制一下,添加到Gerrit中
2,群组配置:
在Gerrit网站上 > Admin > Groups> Non-Interactive Users > 添加Jenkins用户:
3,权限配置:
在Gerrit网站上 Admin > Projects > ... > Access > Edit
Reference: refs/*
Read: ALLOW for Non-Interactive Users
Reference: refs/heads/*
Label Code-Review: -1, +1 for Non-Interactive Users
Label Verified: -1, +1 for Non-Interactive Users
Global Capabilities
Stream Events: ALLOW for Non-Interactive Users
二、Gerrit trigger插件安装:
1,克隆安装:git pullhttps://github.com/jenkinsci/gerrit-trigger-plugin.git
master:master(未尝试)
2,在线安装:
从“Available”tab中选择 Gerrit Plugin和 Git Plugin,点击"Installwithout restart"完成安装。
三、Gerrit trigger插件配置:
1,入口:Manage Jenkins > Gerrit Trigger > Add New Server:
添加后,需要在倒三角出修改(我在这里被坑了好久。。各个版本可能不一样,不一样的话,仔细找找。。)
2,Server settings:
name:给gerrit服务器起个名字
Hostname:gerrit服务器的主机名,比如review.domain.tld
Frontend URL:通过什么URL可以直接访问到gerrit,比如http://review.domain.tld/
SSH Port:Gerrit服务器的SSH服务端口,比如29418
Username:Jenkins访问Gerrit服务器使用的账户名,填入在gerrit服务器为jenkins分配的账户名,比如jenkins
SSH Keyfile:访问Gerrit SSH的私钥,如:/var/lib/jenkins/.ssh/id_rsa
填写完后点击"TestConnection"验证。没问题了保存退出重启链接就可以了。
四、Jenkins Project配置:
1,首先,加几个参数:GERRIT_REFSPEC/GERRIT_BRANCH/……(视情况而定,需要了就加):
2,源码管理:选择Git:
Repositories -> Repository URL,输入访问git仓库的ssh路径,比如ssh://jenkins@121.42.47.103:29418/test/ci.git
这里需要注意下,希望检查库上的分支,还是gerrit上的change:
3,构建触发器:选择Gerrit
event:
1)Gerrit Trigger:
Choose a server------选择前面步骤配置好的gerrit服务器
Trigger on event-----保存后默认会自己加上PatchsetCreated和Draft Published,当提交新的patchset后,
jenkins自动为gerrit做verify工作。
可自定义选项(源自官网):
Draft Published: Sent when a change moves from draft state to new. (only available in version 2.5 or higher of Gerrit).
Patchset Created: Sent when a new patchset arrives on a change. Before version 2.6.0, this was the only event you could trigger on.
Change Merged: Sent when a change is merged on the Gerrit server.
Comment Added: Sent when a comment is added to a change. Which category and value to trigger on can be configured. The available categories can be configured in the server settings for the plugin.
Ref Updated: Sent when a ref is updated on the Gerrit server, i.e. someone pushes past code review.
2)Gerrit Project:
仓:
单个的:type选择plain,pattern输入工程名
所有的:type选path,pattern填**
分支:
单个的:type选plain,pattern输入分支名
所有的:type选path,pattern填**
3)Build:
选择Excute shell,输入构建脚本就好了~
手工触发试试:
成功了!
看看Gerrit:
也成功了!
自动触发试试:
也成功了!每次gerrit服务接收到开发人员提交的changes,都会通知jenkins,自动verify就行了,不要开发人员去手工编译工程。
相关文章推荐
- 设计模式之单利模式
- OpenGL 编程(1)
- when not exists 用法
- 解决Xcode升级7.0后,部分.a静态库在iOS9.0的模拟器上,link失败的问题
- Photoshop脚本代码一键生成所有IOS图标
- mysql批量更新的sql语句
- 【cocos2dx】卡牌记忆游戏(2)——游戏场景
- 提高您CSS开发能力的技巧集
- SharePoint 中修改域用户密码的WebPart文件配置
- python随机数产生
- yii2.0用户登陆
- SIGGRAPH 2013 Course: Physically Based Shading in Theory and Practice
- 使用BeanUtils.populate方法转化Map为Javabean时get与set方法的命名规则
- Dubbo框架应用之(四)--Dubbo基于Zookeeper实现分布式实例
- Machine Learning -Week 1
- UE4移动平台上基于物理的着色
- CYC - 强制转成横屏的方式
- Photoshop脚本代码一键生成所有android图标
- CoreData:数据持久化
- 【状态压缩dp】bzoj1087 互不侵犯