friht 发表于 2018-9-4 09:53:30

Linux 搭建 Jenkins

  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.logmain;             #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_redirectoff;                      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:///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"}
  
         


页: [1]
查看完整版本: Linux 搭建 Jenkins