Jenkins是开源的持续集成软件,Jenkins通过hook监听源码管理拉取最新代码。然后依据创建好的Jenkins任务和执行脚本完成代码构建(静态检查、编译、单元测试)、打包、部署、集成测试过程,最后把构建的结果包括自动化测试的结构通过邮箱发送给开发者。
本文讲述的是一个简单的Jenkins服务器的搭建过程。
Jenkins通过Yum包安装来解决软件依赖问题,之后需要执行systemctl start jenkins来启动服务。Jenkins的网页端口为8080,修改冲突端口:
# pwd /etc/sysconfig [root@jiche sysconfig]# vim jenkins JENKINS_PORT="****"
JENKINS_USER=”jenkins” Jenkins的默认管理员为Jenkins
JENKINS_HOME=”/var/lib/jenkins” jenkins用户的根目录为/var/lib/jenkins
Jenkins是Java开发的,所以Jenkins依赖JDK或JRE环境,同时JAVA环境需要在1.6版本以上,我们需要在服务器上设置 JAVA_HOME环境等PATH环境变量。
#set java environment export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH export PATH=/jenkins/apache-maven-3.3.9/bin:$PATH
验证JAVA是否配置成功:
# java -version openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
配置服务器Maven与工作区(代码拉取位置)
#The absolute path of the directory assigned to the build as a workspace export WORKSPACE=/var/lib/jenkins/workspace #set Maven Environment export MAVEN_HOME=/jenkins/apache-maven-3.3.9 export PATH=$MAVEN_HOME/bin:$PATH
设置完成之后使用source命令在此shell环境下导入环境变量。
Jenkins支持丰富的插件管理功能,以下是常见的适用插件。
1.Git插件:Git plugin
2.Maven插件:Maven Integration plugin
3.签名证书管理插件:Credentials Plugin 和Keychains and Provisioning Profiles Management
4.自定义全局变量:Environment Injector Plugin
5.自定义邮件插件:Email Extension Plugin
6.显示代码测试覆盖率报表:Cobertura Plugin
7.来展示生成的单元测试报表,支持一切单测框架,如junit、nosetests等: Junit Plugin
8.其它: GIT plugin / SSH Credentials Plugin
9.Gerrit插件(触发集成):Gerrit plugin
我们需要安装这些插件帮助我们去完成各种子任务。
Jenkins Global Tool Configuration:
配置JAVA环境变量:
配置Maven环境变量:(配置出错会有红色error提示)
Jenkins配置系统:
管理员邮箱配置:
邮件通知配置:
SSH Servers:
认证管理:
账号密码类:
SSH类:(私钥粘贴类)
Jenkins任务创建及其相关配置:
选择Maven项目
源码管理选择Git版本控制:
配置触发器:
Build Triggers勾选Gerrit event;
Gerrit Trigger:
Poll SCM:依据配置轮询检查源码是由有变更,如果有更新就比对拉取最新代码下来,然后自动执行构建动作。
构建前步骤和Maven构建:
构建后操作:
邮件反馈通知:
使用gerrit trigger设置钩子
配置成功会显示蓝色,Gerrit代码更新之后会触发Jenkins集成构建