Jenkins安装和配置 1. Jenkins下载与安装 1.1 安装环境 必要的环境是JDK 1.7以上,如果没有安装jdk,Jenkins无法启动。如果安装在windows上,推荐使用window
Jenkins安装和配置
1. Jenkins下载与安装
1.1 安装环境
必要的环境是JDK 1.7以上,如果没有安装jdk,Jenkins无法启动。如果安装在windows上,推荐使用windows server。否则某些插件可能运行缓慢
1.2 Jenkins下载
下载地址:http://jenkins-ci.org/
Jenkins可以下载war包,然后在web容器中直接运行。但作为持续集成环境不推荐此种方法。推荐下载安装包,将Jenkins安装为系统服务,随系统启动。
下载Native packages:
1.3 Jenkins安装
下载之后是安装包,直接点击msi结尾的安装即可。使用Native package会自动安装为Windows服务。
安装完成后,在浏览器输入 yourIpAddress:8080访问。如果看到类似如下界面,说明安装成功。
( 刚安装时job和节点列表是空的)
注:如果需要更改启动端口或者启动参数,打开Jenkins安装目录,找到Jenkins.xml,打开。找到类似节点:
<arguments>
-Xrs-Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar
"%BASE%/jenkins.war" --httpPort=8080
</arguments>
更改你需要的参数,然后在windows服务管理器中重启Jenkins服务即可。
2. Jenkins基础配置
2
2.1 必要插件安装
安装完Jenkins后,建议先配置插件,再配置系统设置。因为Jenkins很多功能由插件实现。并且需要在系统设置中配置。
点击系统管理按钮:
看到如下界面:
点击管理插件,进入如下界面:
转到 可更新 选项卡。系统会自动检查更新。如果列表是空的,等5分钟左右系统会自动刷新。全选后点击直接安装。系统会自动开始下载插件。
由于网络原因,下载插件可能会出错。如果提示部分插件没有安装成功,等其他插件安装完成后,进入可更新选项卡再次全选安装即可。安装完成后,在浏览器地址栏后面加上restart,即可远程重启Jenkins,类似于192.168.1.8:8080/restart。
注:安装插件时显示连接不上Google不会影响插件安装,可忽略。
注2:只有在把Jenkins安装为系统服务时,Jenkins才能进行远程重启。
注3:Jenkins这里有一个bug但是很难重现。即重启之后无法再次启动。如果重启后发现Jenkins无法启动,在服务器端使用Jenkins Native packages(安装包),安装时选修复即可。原有的配置和工程都会被保留不会丢失。
插件全部更新完成之后,可更新列表会为空。
系统会自动不定期检查插件更新,如果要手动检查。在可选插件底部点击立即获取即可。
2.2 Jenkins全局设置
2.2.1 路径配置
更新完插件后,转到系统管理。选择系统设置:
界面如下:
点击高级按钮:
会多出根目录设置。建议不使用默认值,将其设置在便于查找的目录下。在设置时,可以使用以下三个环境变量:
${JENKINS_HOME}: Jenkins 安装目录
${ITEM_ROOTDIR}: 默认的工作空间地址
${ITEM_FULL_NAME}: 项目名
设置根目录时,需包含后两个环境变量之一,否则以后工程无法移植并且管理混乱。
建议的设置如下:
工作空间根目录:c:/Jenkins/workspace/${ITEM_FULL_NAME}
构建记录根目录:c:/Jenkins/buildRecord/${ITEM_FULL_NAME}
完成后如图:
剩下的配置建议如图配置:
注:执行者数量建议不超过本机CPU核心数。如果CPU低于i3,建议值为1。即不允许同时执行多个构建避免系统异常或者死机。
注2:master即Jenkins安装在的服务器至少需要Intel i系列或者同等性能CPU。否则后期静态检查插件可能工作缓慢甚至无法工作(静态检查插件最后的图形化报表功能由master承担且对CPU性能要求较高)。
2.2.2 JDK及工具安装
在安装之前,确保Jenkins所在机器已经安装好JDK(可以多版本),Maven,Ant等工具。Jenkins中只提供调用本地工具的插件,并没有提供这些工具。所需工具必须手动安装。
找到下图所示的工具设置:
以JDK安装为例:
点击JDK安装,再点击新增JDK:
出现如下界面:
不要勾选自动安装(自动安装需要oracle账号且不宜自行配置),出现下图界面:
别名填写此JDK的名字,此别名用于以后系统向用户展示,建议使用简单易懂的别名。例如JDK_1.7。JAVA_HOME填写jdk的安装目录。类似于下图:
可以增加多个JDK:
注:配置多个JDK之后,项目配置中可以选择要使用的JDK,如果没有选择,默认的是操作系统环境变量配置的JAVA_HOME指向JDK。
注2:如果使用maven,需要在pom.xml中,maven-compile-plugin下添加fork。才能跟随系统JDK。否则在Jenkins中会报错。No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK。在Jenkins中指定jdk版本也可以。
MAVEN,ANT等工具的安装和JDK步骤相同。
MAVEN安装完之后,还需要配置以下选项:
指定maven的配置文件。如果没有指定,默认使用安装MAVEN的/conf/下的settings.xml文件。
指定maven执行参数,没有需要可不填。
指定本地maven仓库位置。这里的Default并不一定指向。/m2/repository,而是指向settings.xml中指定的目录。
2.2.3 邮件配置
Jenkins自带的邮件功能较弱,建议使用功能更强的扩展插件。
转到插件管理界面,在可选插件里搜索Email Extension Plugin,选中安装。
安装完成后转到设置,找到Extended E-mail Notification,设置项如下:
首先配置smtp服务器,点击高级按钮,选中Use SMTP Authentication。输入smtp服务器地址,邮箱名,密码。
然后配置字符集为UTF-8,再配置邮件格式,建议选择HTML,可以使邮件内容更加丰富,携带更多信息。
默认收件人和默认回复人:
在邮件标题和邮件内容中可以使用很多内置的变量。下面是一个参考的配置:
邮件标题:
构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
邮件内容:
<hr/>
(本邮件是程序自动下发的,请勿回复!)<br/><hr/>
项目名称:$PROJECT_NAME<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
svn版本号:${SVN_REVISION}<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
构建日志地址:
<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
注:点击Content Token Reference 后面的问号,可以看见所有可以使用的变量。
注2:使用插件之后,系统自带的邮件服务可以不配置。
注3:使用上述配置发送的邮件如下图:
2.3 Jenkins节点配置
Jenkins支持master/slave结构,可以进行分布式构建。节点之间通过网络连接。
在系统设置中选中节点管理:
在新界面右侧,点击新建节点。
填写节点名称,并且选中Dumb Slave,表明新建节点:
在之后的配置中,填写执行者数量,远程工作目录。
Jenkins通过节点标签来分配任务。在标签中填写此节点执行的任务,然后将用法换成只允许执行绑定到这台机器的任务,就可以实现不同节点的任务分配。例如,标签填写:WebService WebApps(不同标签使用空格分隔),在构建时,只有具有这两个标签之一的任务才会执行在这个节点上。
注:标签可以根据实际项目分部来构造,例如一台slave标签打上Android,一台打上WebService。
启动方法建议选择Lunch slave agents via JAVA web start。此方法可以使用在任何平台上,并且可以随系统启动。
如果此节点上要运行master没有的工具,或者工具的位置和全局设置不同,点击Tool Locations,手动输入工具路径。
完成后之后点击save。
之后系统会自动条转到节点界面,如图:
刚才配置的节点现在显示不在线状态。使用要作为此slave的计算机,使用浏览器访问这个界面,点击节点。会看到如下界面:
点击lunch,会开始下载
下载之后双击打开。
出现如下界面,说明成功连接:
之后点击file->install as a Service,可以把slave-agent安装成系统服务。随系统启动。
此时回到Jenkins节点管理界面,如果看到节点成功连接,说明配置成功。
注:如果无法成功连接,显示路径不正确。请回到系统全局设置,查看如下配置项:
检查Jenkins URL是否填写正确,http://不能省略,也不能使用localhost。
2.4 更新Jenkins
当Jenkins有可用更新时,在系统管理界面会有如下提示:
点击自动升级版本即可。升级后Jenkins会保留上一个版本的备份,出现问题可降级。
3. 创建工程
3
3.1 Maven工程(推荐)
点击新建按钮:
出现如下界面:
填写项目名称。下面列表的选择可以选择自由风格的项目,也可以选择maven项目。这里强烈建议直接使用MAVEN项目。在自由风格项目编译maven时有一个,系统执行maven时,使用的是mvn.bat –xx xxxxxx,但是maven/bin中mvn后缀不是.bat,所以会报错。想解决必须使用windows batch脚本,如果涉及JDK版本指定等,会变得非常不便。
选择MAVEN项目,点击ok:
要注意的几个选项:
JDK:选择项目使用的jdk版本,默认是操作系统环境变量指定的
Restrict where this project can be run:选中后后要求输入标签,系统会根据标签匹配可以执行此工程的slave节点。
源码管理选择SVN,在下方输入用户名密码。
如果这里显示不正确,请到系统全局设置中把svn版本选为1.8。
触发器选择poll scm:
日程表的具体规则点击后方的问号可以看到。这里推荐使用H 23 * * *这样的格式。代表由系统负责负载均衡,在每天23点开始检查svn版本库,有变化执行构建,没有不执行。并且系统会自动根据节点使用情况决定构建开始时间。
在build中填写构建的目标,例如 compile或者package。
在构建后步骤中勾选Editable Email Notification。
出现如下界面:
默认配置和全局配置一样。没有特别需要可以不更改。一般只需要新增收件人。注意使用逗号分隔收件人。(英文逗号)
添加构建日志作为附件:
点击advanced settings:
出现Triggers列表:
可以自定义邮件的触发器。例如如下的配置:
代表每次构建之后都发邮件给定义好的收件人。
注:关于这里的developer,是系统自动根据svn用户的信息,在其之后拼接smtp服务器的后缀,构建出的电子邮件地址。例如A项目svn的提交人有b,c,d,smtp服务器:[email protected],那developer 就是[email protected];[email protected];[email protected]。
最后按保存即可。
最后在工程中按立即构建,查看构建结果。
3.2 ANT工程(兼容)
与Maven工程大致相同。
不同点主要在:
创建时选择自由风格的项目
构建时需要自己添加构建步骤。选择Invoke Ant
然后自己输入Ant的target。