当前位置:文档之家› jenkins中文使用手册分解

jenkins中文使用手册分解

Jenkins 操作手册苏州测试部目录第 1 章概述 (1)第 2 章基础篇 (3)2.1 Jenkins安装 (3)2.1.1资源下载 (3)2.1.2运行Jenkins的前提 (3)2.1.3 Jenkins启动 (3)2.1.4 Jenkins访问 (4)2.2 Jenkins基本设置 (8)2.2.1设置JDK (9)2.2.2设置ANT (9)2.2.3配置邮件信息 (10)2.3 创建任务 (10)2.4 运行并监控构建作业 (15)2.4.1主控制面板 (15)2.4.2手动构建一个任务 (15)2.4.3任务构建状态 (16)第 3 章提高篇: (18)3.1 插件管理: (18)3.1.1 FindBugs 插件设置 (18)3.1.2 Ftp插件配置 (20)3.1.3 Junit插件 (21)3.1.4通过远程访问触发 (21)3.1.5 WebLogic.Deployer (21)3.2 安全篇 (22)3.3 个性化设置 (23)第 4 章常见问题 (25)4.1 edit lock问题 (25)4.2 IOException: Unable to delete问题 (25)4.3 not recognized as a valid application type 问题 (26)第 5 章其它说明 (27)5.1 CI挑战 (28)5.2 ANT基本知识 (28)第 1 章概述1.1什么是持续集成随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。

尤其是近些年来,敏捷(Agile)在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。

持续集成正是针对这一类问题的一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。

它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。

而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。

持续集成最早由Martin Fowler于10年前已经提出,希望通过持续集成能够实现以下过程:➢任何人在任何地点,任何时间可以构建整个项目。

➢在持续集成构建过程中,每一个单元测试都必须被执行。

➢在持续集成构建过程中,每一个单元测试都必须通过。

➢持续集成构建的结果是可以发布的软件包。

➢当以上任何一点不能满足时,整个团队的主要任务就是去解决这个问题。

1.2持续集成的核心价值持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。

换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。

1.3持续集成的原则业界普遍认同的持续集成的原则包括:1)需要版本控制软件保障团队成员提交的代码不会导致集成失败。

常用的版本控制软件有 IBM Rational ClearCase、CVS、Subversion等;2)开发人员必须及时向版本控制库中提交代码,也必须经常性地从版本控制库中更新代码到本地;3)需要有专门的集成服务器来执行集成构建。

根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每半个小时构建一次;4)必须保证构建的成功。

如果构建失败,修复构建过程中的错误是优先级最高的工作。

一旦修复,需要手动启动一次构建。

1.4持续集成系统的组成由此可见,一个完整的构建系统必须包括:➢一个自动构建过程,包括自动编译、分发、部署和测试等。

➢一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。

➢一个持续集成服务器。

本文中介绍的 Jenkins/Jenkins 就是一个配置简单和使用方便的持续集成服务器。

1.5Jenkins介绍Jenkins是一个软件界非常流行的开源CI服务器,Hodson是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:➢持续的软件版本发布/测试项目。

➢监控外部调用执行的工作。

Jenkins的新版本取名叫Jenkins,所以本文档中的指Jenkins与Jenkins这2个词为指同一个软件。

使用Jenkins人员需要对持续集成的概念有所了解,更多的要求对代码的编译过程很了解,Jenkins对于maven工程完整的编译和发布流程如下:➢Jenkins从SVN上拉取代码到指定的编译机器上。

➢在编译机器上触发编译命令或脚本。

➢编译得到的结果文件。

➢把结果文件传到指定的服务器上。

使用Jenkins进行编译的人员,需要对自己的代码的编译方法,过程十分了解,对编译任务进行分拆。

第 2 章基础篇2.1 Jenkins安装2.1.1资源下载首先从/下载最新的jenkins版本,最新版本为1.594,下载的文件载体为jenkins.war;Jenkins为免费开源软件,并且更新速度稳定,每周一次更新。

所以网站上会提供有2个版本,一个最新版本,一个老但稳定的版本。

可自行选择。

2.1.2运行Jenkins的前提1)环境变量的设置:a)JAVA_HOME,设置JDK的安装目录,建议采用JDK1.7,但不建议用JDK1.8b)ANT_HOME,设置Ant的目录,验证过ant最新版本1.9.4可用。

c)JENKINS_HOME,设置Jenkins的配置文件目录,默认为用户的目录,建议为Jenkins的安装目录,便于控制;d)MEVAN_HOME,设置Maven的目录,验证3.2.3可用。

e)PATH,需要将java、ant,maven的bin目录配置到path目录下;f)CLASSPATH,需要将JDK的tools.jar配置到classpath目录中;2.1.3Jenkins启动可以有两种方法进行运行jenkins;a)直接通过命令行如下:/opt/jdk1.7.0_71/bin/java -jar /opt/jenkins.war --httpPort=8089 --logfile=/opt/jenkins/jenkins.log说明:httpPort为jenkins运行的端口,默认端口为8080,上述命令其实让Jenkins运行在Winstone容器中;以下有一些常用的参数:更多参数可以查看/#commandLineb)在Web容器中运行Jenkins可以运行在标准的Web服务器中,支持Tomcat、Jboss、WebLogic中,只需要将Jenkins.war放置到相应目录,启动服务就可以进行访问;推荐采用这个方式运行,方便配置和迁移。

2.1.4Jenkins访问验证jenkins是否运行正常,通过访问http://10.1.200.59:8089即可。

Hudosn应用支持IE、FireFox等浏览器。

2.1.5分布式jenkins安装为了满足各种编译环境的需求,jenkins支持分布式,以jenkins agent的形式运行slave机。

1.在jenkins的主机上,选择系统管理>管理节点2.新节点>输入名字3.选择Dumb Slave> OK4.设置处理器的数量,一般以CPU核数来确定,如4核的一般写35.选择远程根目录,在slave机上用来存放jenkins自身运行所要的文件6.使用方式:为了分担master机器的负载,可选尽可能多的使用本机器或,只允许运行指定本机的任务7. 启动方法:对于window推荐使用Launch slave agents via Java Web Start8. 有效性:任何时间有效配置好了之后,1. 从slave机器上打开浏览器,访问jenkins主机:http://yourjenkinsmaster:8080)2. 在系统管理>管理节点,打开建立的节点。

3. 点启动按钮,jenkins agent就会从浏览器下载包需要的jar、jnlp包,然后启动。

运行程序在windows中,可以安装成为服务进程,但如果是运行selenium这种自动化工作的机器,则不建议这么做。

2.2 Jenkins基本设置Jenkins的基本设置都在系统的后台设置中,具体路径为:系统管理->系统管理2.2.1设置JDK可以在这里进行JAVA_HOME设置,假如已经系统已经设置JAVA_HOME,可以不需要再进行配置,同时可以让Jenkins再安装一个JDK。

2.2.2设置Maven2.2.3设置ANT可以在这里进行ANT_HOME设置,假如系统已经设置了ANT_HOME,可以不需要再进行配置,同时可以让Jenkins安装一个最新的ANT。

备注:为了让配置更加简单,建议在系统级设置JAVA_HOME和ANT_HOME,MAVEN_HOME,便于系统的迁移。

2.2.4配置邮件信息系统能够在执行计划完成后发送结果邮件,需要配置邮件服务器的相关信息:上面还需要配置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将允许您提供一套任意的键值对参数,它们会被传递到构建过程里。

配置的参数往往是构建运行环境中的一些环境变量。

相关主题