|
Jenkins,是从Hudson fork出的一个开发分支,因与Oracle Hudson商标纠纷改名为Jenkins(详见),Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括:软件版本发布/测试的持续集成、外部调用执行工作的监控等。
一、 准备环境
1、(可选) 卸载已有的open jdk,安装最新版本的java jdk,为后续集成maven服务做准备
(1)rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
(2)yum -y remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686
安装JAVA, 请见 http://qiangsh.blog.51cto.com/3510397/1771748
安装Maven,请见 http://qiangsh.blog.51cto.com/3510397/1771831
2、 Jenkins 安装
(1) sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
(2) sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
(3) yum install jenkins
使Jenkins能够以服务方式启动
(1)sudo chkconfig jenkins on
(2)sudo service jenkins start/stop/restart
3、启动Jenkins
输入指令 sudo service jenkins start,如果出现类似如下的报错:
Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录 或者
Starting Jenkins Jenkins requires Java7 or later, but you are running 1.5.0 from /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre 则说明jenkins没有找到java安装目录,若此时已经卸载了openjdk,安装了新版本的全java包,则可以通过修改init.d中配置文件解决,方法如下:
vi /etc/init.d/jenkins
找到candidates,修改如下,将你安装的java所在路径写到第一个候选位置(最前面)即可将/usr/bin/java写到最前。
candidates="
/usr/bin/java
/usr/java/jdk1.8.0_131/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
"
二、 配置Jenkins
1、创建软连接
mkdir -p /home/jenkins/
ln -s /var/lib/jenkins /home/jenkins/.jenkins
2、更改Jenkins的默认目录,用户,端口
vi /etc/sysconfig/jenkins
JENKINS_HOME="/home/jenkins/.jenkins"
JENKINS_USER="jenkins",执行用户更改为jenkins用户
JENKINS_PORT="8080",默认端口8080
3、修改目录的相应权限
sudo chown -R jenkins:jenkins /home/jenkins
sudo chown -R jenkins:jenkins /var/log/jenkins
sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo chown -R jenkins:jenkins /var/cache/jenkins
4、安装部分Jenkins插件
- 系统管理 --> 管理插件 --> 可选插件;
- 安装所需要的插件(根据需要自行选择),如 GitBucket Plugin、 FindBugs Plug-in 、Cobertura Plugin 、 Violations Plugin 、Email Extension Plugin等
如果联网失败,请参考:http://blog.csdn.net/qq_28719059/article/details/79071906
3、 Jenkins 验证
在浏览器里,输入网址: http://{jenkins_host}:8080/显示下面界面:
安装所需要的插件(根据需要自行选择),如 GitBucket Plugin、 FindBugs Plug-in 、Cobertura Plugin 、 Violations Plugin 、Email Extension Plugin等
三、 配置nginx反向代理
1、在nginx配置目录/usr/local/nginx/conf/vhost/目录下新建配置文件jenkins.conf,配置文件内容如下
server { listen 80; server_name jenkins.yourhost.com; #access_log /var/log/jenkins.access.log main; #error_log /var/log/jenkins.error.log ; client_max_body_size 60M; client_body_buffer_size 512k; location / { port_in_redirect on; proxy_pass http://127.0.0.1:8080$request_uri; proxy_redirect off; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
2、修改/etc/hosts,在末尾新增一行 :
127.0.0.1 jenkins.yourhost.com 3、重启nginx,
service nginx restart
四、Jenkins升级
1、定位jenkins.war文件的安装目录
ps aux |grep jenkins
2、如果是默认安装的话,文件目录应该为:/usr/lib/jenkins
cd /usr/lib/jenkins
mv jenkins.war jenkins.war-bak
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
3、重启服务
/etc/init.d/jenkins restart五、相关插件安装
- 插件安装方法为,进入系统管理--->插件管理,在Available的Tab下勾选需要的插件直接安装即可。 一些常用的插件如下。
插件名说明Git pluginjenkins的git 集成工具,拉取源代码GitBuckit pluginjenkins的gitbuckit集成工具,拉取源代码(提供gitbucket的webhook配置,使gitbucket可以通过提交代码触发build,webhook地址为http://[jenkins_host]/gitbucket-webhook/, 将其写入项目远程仓库的settings->service hooks 里即可)Cobertura Plugin显示代码测试覆盖率报表,如java 、python等Violations Plugin用来展示Python静态代码审查报表,支持pylint、jslint等Email Extension PluginJenkins自定义邮件插件 。Junit Plugin用来展示生成的单元测试报表,支持一切单测框架,如junit、nosetests等Maven Integration pluginmaven项目管理工具。一些maven代码质量管理命令:mvn sonar:sonar(单测结果,覆盖率)、findbugs:findbugs(静态代码检查) 、checkstyles:checkstyles(编写规范,潜在问题)Description Setter Plugin为每次build设置说明文字。通过正则表达式来匹配log里每行的输出,将符合正则表达式的部分显示在说明中。 Email Extension Plugin 的设置参考
Default Subject:
构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content:
(本邮件是程序自动下发的,请勿回复!)
项目名称:$PROJECT_NAME
构建编号:$BUILD_NUMBER
git版本号:${GIT_REVISION}
构建状态:$BUILD_STATUS
触发原因:${CAUSE}
构建日志地址:${BUILD_URL}console
构建地址:$BUILD_URL
失败单测:${FAILED_TESTS}
变更集:${JELLY_SCRIPT,template="html"}
|
|
|
|
|
|
|