1.为什们要使用jenkins
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目;
2、监控外部调用执行的工作。
2.安装jenkins前的准备工作
项目 | 描述 |
---|---|
系统环境 | centos6.8 |
内存 | 4G |
JDK | jdk1.7+ |
容器 | tomcat7 |
版本 | jenkins-1.651.3 |
下载地址:http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war-stable/1.651.3/jenkins.war
3.安装与运行
1.Jenkins本身由JAVA语言开发的web应用程序,通过war包发布,所以最便捷的方式就是通过war进行安装(严格来说不算安装,说部署更合适)。
2.当然Jenkins也提供了针对不同平台的安装包,如windows的安装文件、ubuntu的安装包等等,但不建议使用定制的安装程序进行安装,最直接的理由就是学习成本比较高和可控性不好,所以本文将介绍如何使用war包安装、运行。
3.使用war包安装
Jenkins可以直接使用java -jar jenkins.war来运行,需要配置java黄精变量 命令要在jenkins.war所在路径下执行,否则要加上jenkins.war所在目录的相对或绝对路径。
注意:前文提到Jenkins的运行需要依赖jdk和web容器,这里怎么又说可以直接运行呢?这是个好问题,产生这种神奇现象的奥秘在于Jenkins内置了Jetty容器.
4.使用Tomcat安装
首先从Tomcat官方网站或其他渠道下载Tomcat,本文用的版本是7.0.63绿色版,下载地址为:apache-tomcat-7.0.63。
解压Tomcat安装包,配置环境变量,启动tomcat就可以了。
4.配置
列出的配置为“系统管理(Manage Jenkins)>系统设置(Configure System)”中的内容,与特定的插件相关内容将在插件使用中说明。
1.主目录(Home directory)
Jenkins存放数据的目录,如:Jenkins自身的配置文件、默认的工作空间(之所以说是默认工作空间是因为Job的工作空间在Job设置中可以特别指定,与默认工作空间可以不同)。默认主目录为${user_home}/.jenkins
,在Jenkins
启动前可以通过设置修改,设置途径如下:
设置系统环境变量JENKINS_HOME,如:JENKINS_HOME=/root/.jenkins,
在WEB容器启动前设置应用级的环境变量JENKINS_HOME
这种方式是我在实际使用中推荐的一种方式,在同一台机器上部署多个需要不同配 置的应用时很灵活,通常我会为每个应用提供一个env.sh文件,可能的内容如下:
JAVA_HOME=/usr/java/jdk1.6.0_14/
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
##Jenkins
JENKINS_HOME=/root/.jenkins
export JENKINS_HOME
## for linux
LANG=zh.UTF-8
export LANG
Resin
编写resin的启动脚本,脚本比较简单主要作用理设置环境变量,调用resin提供的启动命令启动resin,内容如下:
#!/bin/sh
##应用所在目录
cd /data/xxx_adcenter
. ./env.sh
sh $RESIN_HOME/bin/resin.sh $1
Tomcat
修改jenkins.war中的web.xml文件,设置HUDSON_HOME,内容如下:
<env-entry>
<env-entry-name>HUDSON_HOME</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>/data/jenkins</env-entry-value>
</env-entry>
2.工作空间根目录(Workspace Root Directory)
Job的工作空间,可使用的环境变量有:
JENKINS_HOME、ITEM_ROOTDIR、ITEM_FULLNAME
。
默认值在不同版本的Jenkins中可能不同,如:
Jenkins-1.585中为${JENKINS_HOME}/workspace/${ITEM_FULLNAME}
Jenkins-1.653中为${ITEM_ROOTDIR}/workspace
ITEM_ROOTDIR:代表${JENKINS_HOME}/jobs/${ITEM_FULLNAME}/ ITEM_FULLNAME:job名字
3.构建记录根目录(Build Record Root Directory)
可使用的变量如“工作空间根目录”,默认值为${ITEM_ROOTDIR}/builds。
4.用法(Usage)
控制如何在节点上安装构建,从节点(slave)上也有这个设置,包含两个选项:
尽可能的使用这个节点(Utilize this node as much as possible):
这是默认设置,在这种模式下,当有一个可以在这个节点上运行的构建时,Jenkins将使用这个节点进行构建。在实际使用中建议将主节点(master)设置为这种模式,从节点设置为“只允许运行绑定到这个节点的JOB运行”,这样可以避免从节点出现故障时导致的Job无法运行的情况发生。
只允许运行绑定到这个节点的JOB(Only build jobs with label restrictions matching this node):
在这个模式下,Jenkins只运行指定在此节点运行的Job。在Job设置的“Restrict where this project can be run”中指定可运行Job的节点,关于如何指定节点的高级特性在Job设置中介绍。