Jenkins 操作手册目录第 1 章概述 (1)第 2 章基础篇 (2)2.1 Jenkins安装 (2)2.1.1资源下载 (2)2.1.2运行Jenkins的前提 (2)2.1.3 Jenkins启动 (2)2.1.4 Jenkins访问 (2)2.2 Jenkins基本设置 (3)2.2.1设置JDK (3)2.2.2设置ANT (3)2.2.3配置邮件信息 (4)2.3 创建任务 (4)2.4 运行并监控构建作业 (7)2.4.1主控制面板 (7)2.4.2手动构建一个任务 (7)2.4.3任务构建状态 (8)第 3 章提高篇: (10)3.1 插件管理: (10)3.1.1 FindBugs 插件设置 (10)3.1.2 Ftp插件配置 (12)3.1.3 Junit插件 (12)3.1.4通过远程访问触发 (12)3.1.5 WebLogic.Deployer (13)3.2 安全篇 (14)3.3 个性化设置 (15)第 1 章概述持续集成(CI)是一种实践,旨在缓和和稳固软件的构建过程。
持续集成最早由Martin Fowler于10年前已经提出,希望通过持续集成能够实现以下过程:任何人在任何地点,任何时间可以构建整个项目。
在持续集成构建过程中,每一个单元测试都必须被执行。
在持续集成构建过程中,每一个单元测试都必须通过。
持续集成构建的结果是可以发布的软件包。
当以上任何一点不能满足时,整个团队的主要任务就是去解决这个问题。
Jenkins是一个软件界非常流行的开源CI服务器,下面介绍从基础篇、提高篇两个层面进行介绍。
第 2 章基础篇2.1 Jenkins安装2.1.1资源下载首先从/下载最新的Jenkins版本,最新版本为1.383,下载的文件载体为Jenkins.war;2.1.2运行Jenkins的前提1)环境变量的设置:a)JAVA_HOME,设置JDK的安装目录,建议采用JDK5b)ANT_HOME,设置Ant的目录,建议采用ant最新版本1.8c)JENKINS_HOME,设置Jenkins的配置文件目录,默认为用户的目录,建议为Jenkins的安装目录,便于控制;d)PATH,需要将java、ant的目录配置到path目录下;e)CLASSPATH,需要将JDK的tools.jar配置到classpath目录中;2)其他外部条件a)需要WebLogic923的远程控制的jar文件,文件有weblogic_sp.jar、weblogic.jar、webservices.jar三个jar文件,这三个文件位于WebLogic安装目录的相对目录server\lib下;b)将上述三个jar配置到系统的CLASSPATH环境变量中;2.1.3Jenkins启动Jenkins可以有两种方法进行运行Jenkins;a)直接通过命令行转到Jenkins.war所在的目录,当前为D:\Jenkinsjava -jar Jenkins.war --httpPort=8080 –prefix=Jenkins说明:httpPort为Jenkins运行的端口,默认端口为8080,上述命令其实Jenkins运行在Winstone容器中;b)在Web容器中运行Jenkins可以运行在标准的Web服务器中,支持Tomcat、Jboss、WebLogic中,只需要将Jenkins.war放置到相应目录,启动服务就可以进行访问;2.1.4Jenkins访问验证Jenkins是否运行正常,通过访问http://hostIP:port/Jenkins即可。
Hudosn应用支持IE、FireFox等浏览器。
2.2 Jenkins基本设置Jenkins的基本设置都在系统的后台设置中,具体路径为:系统管理->系统管理2.2.1设置JDK可以在这里进行JAVA_HOME设置,假如已经系统已经设置JAVA_HOME,可以不需要再进行配置,同时可以让Jenkins再安装一个JDK。
2.2.2设置ANT可以在这里进行ANT_HOME设置,假如系统已经设置了ANT_HOME,可以不需要再进行配置,同时可以让Jenkins安装一个最新的ANT。
备注:为了让配置更加简单,建议在系统级设置JAVA_HOME和ANT_HOME,便于系统的迁移。
2.2.3配置邮件信息系统能够在执行计划完成后发送结果邮件,需要配置邮件服务器的相关信息:上面还需要配置Jenkins的URL地址,作为后期访问地址,一旦设定URL,就不要轻易修改。
左边显示的可过滤的条件及属于当前用户的BUG2.3 创建任务在Jenkins主菜单点击“新建任务”,出现下图:键入任务名称,选择“Build a free-style software project”选项,点击“OK”按钮后,出现下面的界面:说明:a)Project name:项目(任务)名称,项目(任务)名称不能重复,后面通称任务;b)Description:项目描述,主要对任务进行简要说明;c)Discard old builds:是否保留过去的构建,默认是保留。
(帮助:这里控制着您想要在Jenkins所在的磁盘把构建记录存储的有效期(诸如控制台输出、编译构件等等)。
Jenkins为此提供了两个标准:1。
时间驱动。
在Jenkins中您可以判断如果达到一定时限来删除一条记录(例如,七天前)。
2。
数量驱动。
在Jenkins中您可以确保它拥有N份构建。
如果又有新的构建开始,最早的那份(记录)就将被删除。
Jenkins也可以让您建立的个别构建定义为'永远保持这个记录',以便防止某些重要的构建被自动丢弃。
)d)This build is parameterized : 如果选择此选项,Jenkins将允许您提供一套任意的键值对参数,它们会被传递到构建过程里。
配置的参数往往是构建运行环境中的一些环境变量。
(帮助:当您使用了Jenkins的各种自动化,有时要求在构建过程中提供一组用户的输入,使用“parameterize”就能够更方便构建。
例如,您可能会设立一个按需测试,在那里用户可以提交一个二进制文件的压缩文件来进行测试。
e)Disable Build:禁止此任务进行构建,默认是不禁止;f)Execute concurrent builds if necessary(beta):g)Advanced Project Options1)Quite period:构建前等待时间;2)Retry Count:从SCM仓库中取出尝试时间;3)Block build when upstream project is building:假如上一个仍在构建过程中,停止本次构建任务;4)Use custom workspace:指定当前任务的workspace,否则默认为JENKINS_HOME的工作目录h)Source Code Management:指定编译源代码的获取方式:1)None:手动方式;2)CVS:从CVS仓库中获取;备注:CVS通过Module(s)获取多个项目工程3)SVN:从SVN仓库中获取;备注:SVN通过“Add more locations”来添加多个工程,在SVN的URL中需要添加用户名密码信息,例如:svn://username:passwd@192.168.1.15/SKELETON-V2.0/trunk/program/source/skeletonCommoni)Builds Triggers:设置构建触发器1)Build after other projects are built:设置构建的流水线,配置在设置的任务构建完成后自动构建此任务,进行设置后,可以在任务统揽中看到以下“下游项目说明”2)Trigger builds remotely (e.g., from scripts):设置远程触发进行任务构建;3) Build periodically:设置构建频率,设置跟Quartz CronTrigger设置雷同;4) Poll SCM:设置从SCM库中检查源代码是否更新:备注:关于第三和第四两点,基本配置为分钟小时天月星期举例:每分钟进行集成* * * * *,每5分钟进行集成 5 * * * *,每天12点和23整点进行集成0 12,23 * * *j)Build Environment:设置构建环境设置1)Tool Environment:设置工具的环境变量;2)Create a formatted version number:设置构建的版本号k)Build:执行构建构建支持6种方式,shell(运行于Linux环境)、Maven(支持Maven编译)、Command(windows 批处理命令)、Ant、EasyAnt、Export job runtime parameters。
举例:1)Ant:备注:Targets主要是执行ant脚本中哪几个部分,可以添加多个;Build File:需要指定Ant脚本的物理位置;Properties:添加Ant指定的属性;Java Options:设置运行java时的属性,例如内存、堆大小等;2)Command备注:执行Windows的批处理命令,这里不能利用Hodson设置的变量;l)Post-build Actions1)Publish Javadoc:设置构建时产生JavaDoc时的文件目录;2)Archive the artifacts:设置构建后哪些文件需要进行归档处理;3)E-mail Notification:邮件提醒备注:可以向多个人发送邮件,通过“;”进行分割4)Status Monitor:构建状态监控;:),好,基本的配置到这里结束,可以搭建一个新的任务进行构建了;2.4 运行并监控构建作业2.4.1主控制面板当配置完成一个任务后,回到主控制面板:上图中右边列表列举现在已经配置的任务已经任务当前的状态左边有构建队列,当有构件时,会把当前正在构建的队列在上面进行列举;上图右下角有RSS订阅,支持订阅全部、失败和最后一次等;2.4.2手动构建一个任务当一个任务配置完成后,可以采用手动构建和触发器构建两种方式,在项目验证阶段,可以通过手动触发方式,点击任务区的“立即构建”,会在Build History中出现以下进度条:点击进度条,可以进入到具体的编译过程,例如下图:等构建完毕后,你可以看到最新任务构建的结果图:浏览任务的整体运行状况入下图:最左边列图示为最后一次构建状态,第二列图示为整个任务的构建总体结果,具体如下表示,下图也只截取部分:2.4.3任务构建状态Jenkins通过当前构建状态和构建稳定新(从0-100 ),期待任务编译都处于和状态。