Git+gerrit+jenkins安装配置
来源:互联网 发布:断网软件下载 编辑:程序博客网 时间:2024/05/21 06:21
Gerrit与git无缝衔接,向服务器提交评审,仅需将git push 改成 git review(或git push origin HEAD:refs/for/master)。Gerrit完美的支持审核模式,评审完成后,可以在界面上一键提交代码到主分支上。
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,拥有丰富的插件——本文重点介绍Gerrit Trigger配置。
本文详细介绍Gerrit和Jenkins(包括Gerrit Trigger插件)的安装配置。
前置条件
已经安装好了openjdk, mysql(可选)。
测试方法:
tecs@tecs-gerrit:~$ java -version
java version "1.7.0_91"
OpenJDK Runtime Environment (IcedTea 2.6.3)(7u91-2.6.3-0ubuntu0.15.04.1)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixedmode)
gerrit@tecs-gerrit:~$ sudo systemctl status mysql
mysql.service -LSB: Start and stop the mysql database server daemon
Loaded:loaded (/etc/init.d/mysql)
Active: active (running)since Tue 2016-01-19 10:39:37 CST;6h ago
安装:
Ubuntu/debian:
sudo apt-getintall openjdk-7-jre
sudo apt-getinstall mariadb-server
Redhat/Centos:
sudo yum installjava-1.7.0-openjdk
sudo yum install MariaDB-server MariaDB-client
准备数据库(mysql/mariadb)
以管理员身份登录,创建gerrit专用的数据库和账号
数据库在本机,执行下面命令即可。如果不是,请将命令中的”localhost”改成”%”,代表任意主机:
CREATE USER gerrit@”localhost” identified by “password”;
CREATE DATABASE gerrit;
GRANT ALL ONTABLE gerrit.* to gerrit;
创建gerrit专用账户, 并将下载好的安装包拷贝到该用户目录,并换到该用户,创建安装目录”site”。
注:后续“site”都是指gerrit的安装目录。
sudo useradd gerrit –m
sudo mv Downloads/gerrit-2.11.war /home/gerrit/
sudo chown gerrit:gerrit/home/gerrit/gerrit-2.11.war
sudo su – gerrit
mkdir site
cd site
开始安装
java –jar ../gerrit-2.11.war init
通过回答问题来完成安装,”?”可以列出所有选项。
可以通过再次执行上述命令来改变配置文件或直接编辑,认证选项可以先选择“development_become_any_account”,完成基础帐号设置后,再改成需要的模式。数据库的模式,安装好后就不要改变——改变需要同步移植库中的数据。
需要执行下面命令,不然可能会启动失败:
java –jar ../gerrit-2.11.war reindex
启动
bin/gerrit.sh start
如果失败了,请查看 logs/error_log,或监视log:
tail –f logs/erro_log
安装过程中会下载下面三个文件,也可以手工下载并拷贝到site/lib目录中:
bcpkix-jdk15on-151.jar——可以在以后添加到site/lib
bcprov-jdk15on-151.jar——可以在以后添加到site/lib
mysql-connector-java-5.1.21.jar——可以在以后添加到site/lib,使用mysql时必须安装
将gerrit安装成系统服务
sudo cp /home/gerrit/site/bin/gerrit.sh/etc/init.d/gerrit
sudo ln –sf /etc/init.d/gerrit /etc/rc0.d/K01gerrit
sudo ln –sf /etc/init.d/gerrit /etc/rc1.d/K01gerrit
sudo ln –sf /etc/init.d/gerrit /etc/rc6.d/K01gerrit
sudo ln –sf /etc/init.d/gerrit /etc/rc2.d/S02gerrit
sudo ln –sf /etc/init.d/gerrit /etc/rc3.d/S02gerrit
sudo ln –sf /etc/init.d/gerrit /etc/rc4.d/S02gerrit
sudo ln –sf /etc/init.d/gerrit /etc/rc5.d/S02gerrit
使用编辑器打开/etc/init.d/gerrit ,将下面红色框内的三行前的注释去掉:可以与一般服务相同,使用systemctl命令管理gerrit服务了
Jenkins安装
Jenkins安装
下载地址: http://jenkins-ci.org/
Centos:
rpm –ivh jenkins-1.643-1.1.noarch.rpm
配置文件:/etc/sysconfig/Jenkins
Unbuntu:
dpkg –i jenkins_1.643_all.deb
配置文件: /etc/default/Jenkins
重要的配置项:
服务端口:HTTP_PORT=8082
工作目录:JENKINS_HOME=/var/lib/$NAME
生成rsa密钥对, 一般使用jenkins的帐号,默认位置:var/lib/jenkins/.ssh。在生成时如果输入了密码,在后续配置时也需要相同的密码。
sudo su – jenkins
ssh-keygen
Gerrit Trigger与 git plugin 插件安装
可以通过jenkins自带的插件管理自动从网上下载安装: Gerrit Trigger 和git plugin.
另一种安装方式,手工下载并安装:http://updates.jenkins-ci.org/download/plugins
需要下载的插件清单:
以上就完成了Gerrit与Jenkins安装。
下面介绍如何配置。
给Jenkins创建非交互帐号
打开主界面,点击右上角的“become”,界面如下,先不要选择选择”administrator”帐号(安装时,认证方式选择”development_become_any_account”时提示创建的帐号)。选择“New Account”, 创建一个交互式帐号。
根据界面提示,将下面三处内容填写完整,ssh从jenkins帐号下的目录下的.ssh/id_rsa.pub中拷贝到下面框中。
完成后如下, 此填写的信息将会用在GerritTrigger的插件配置中。
从右上角切换到管理员帐号,选择“非交互式用户组”,如下图
将Jenkins_Test帐号加入到“非交互式用户组”
确保”Non-Ineractive Usres”组有读取的权限和”Stream Events”的权限。”AnonymousUsers”包含所有的用户。使用默认配置就可以了。
创建一个项目用于测试
ldap认证方式配置
[auth]
type = LDAP
[ldap]
server = ldap://认证服务器地址:389
sslVerify = false
username = 连接认证服务器的帐号(完整的DN)
password = 连接认证服务器的密码
accountPattern = 服务器中用户名的字段名(例如:sAMAccountName)=${username}
accountBase = 服务器中用户的地址(例如:DC=zte,DC=com,DC=cn)
accountFullName = 在gerrit 服务器上显示的名字(例如:${givenName}${SN} ,givename,SN都是用户相关的字段名
“系统管理”的下半部分找到”Gerrit Trigger”如下图。
点击“Add New Server”
填好服务器名,第一个使用默认配置,再次添加时可以从其它复制。
将Gerrit服务信息,以及之前创建的账号信息填写好,并点击测试链接按钮,显示成功,如下图。
“Frontend URL”,用生成访问gerrit评审的链接。
“SSH Keyfile”使用之前设置在账号中公钥对应的私钥。
“SSH Keyfile password”填写创建秘钥对时输入的密码。
Git更新代码配置
使用ssh,并创建ssh认证。
展开高级选项:Refspec字段:refs/changes/*:refs/changes/*
Branch Specifier:$GERRIT_REFSPEC
填写 Gerrit触发条件
Trigger On 没有填写时,会自动添加下面两种类型人事件:”Patchset Created”和“Drafpublished”
选择要构建人项目和分支
如果创建服务器时,没有选择创建 Verified 标签,就需要将下面这些命令(展开高级选项)中的—verified <VERIFIED> 删除,不然Gerrit服务器上不能正确处理jenins的回复。
提交一个评审意见
1.先 clone 代码,并直接提交一个初始版本
git clone http://10.43.174.203:8081/train&& scp -p -P 29418 admin@10.43.174.203:hooks/commit-msgtrain/.git/hooks/
cd train
touch test.c
git add test.c
git commit –m “add file for test”
git push
2.再次编辑文件,提交评审
git commit –am “add include”
git push origin HEAD:refs/for/master
####################################################
转载至:https://sanwen8.cn/p/10cr86Z.html
- Git+gerrit+jenkins安装配置
- Jenkins + Gerrit + Git
- git+gerrit+jenkins经典组合之安装使用
- git+gerrit+jenkins经典组合之安装使用
- CentOS安装gitlab,gerrit,jenkins并配置ci流程
- jenkins安装,配置git项目
- Git-Repo-Gerrit-1-Git介绍,安装和配置
- apache2,git,gerrit配置
- 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服务器
- 团队开发利器Redmine,git,gerrit,jenkins
- Git、Gerrit与Jenkins/Hudson CI服务器
- Git、Gerrit与Jenkins/Hudson CI服务器
- CI 系统搭建:Git、Gerrit与Jenkins
- gerrit配置安装
- C++ 多态 虚函数 通用链表用c++多态实现(不用模板)
- 无锁有序链表的实现
- GeekBand C++STL第二周笔记
- 是时候开始写博客了~
- Windows命令行 端口占用 查询进程号 杀进程
- Git+gerrit+jenkins安装配置
- 光照
- 开始在Android上使用Retrofit并创建Http请求客户端
- 深入理解JAVA虚拟机(四):虚拟机类加载机制
- vagrant的安装
- Jquery转换json对象为字符串 JSON.stringify(jsonObject)[及其浏览器兼容性问题]
- 变量名冲突的解决办法
- Java之Comparable与Comparator的区别
- Android常用到的面试题集合大全