持续集成-项目部署

作者:姚艳红

     继上篇把Hudson+Sonar集成好以后,那就需要发挥他们两个的威力了。现在就把我们的应用部署上去,让它持续集成起来!

Step by step:

1、打开Hudson,进入《新建任务》http://10.20.156.23:36100/hudson/view/All/newJob,如下图


2、这时,需要为新的构建任务指定一个名称。(这里输入的任务名称为:maven-introduce )这里有几种的任务类型可供您选择,鉴于初步介绍,先选择Build a free-style software project ,这个更加普遍化,可以更灵活的配置,一般二房库的部署建议选择该种类型,对于其他的类型, 经常使用的是Copy existing job ; 这主要为了能在复制现有的任务基础上新建一次构建任务。如果是maven 部署方式的应用可以选择build a maven2 product 工程。点击OK 按钮,进入下一界面。如下图:



 

此图中有很多构建任务的设置,具体介绍如下:

Project name 是要运行的项目名称。

Description 是一个自由项,主要用来说明你关于这次构建工作的描述。可不填。

Discard old builds 是控制着您想要在Hudson 所在的磁盘把构建记录存储的有效期 ( 诸如控制台输出、编译产成品等等)Hudson 为此提供了两个标准:1 。时间驱动。在Hudson 中您可以判断如果达到一定时限来删除一条记录( 例 如,七天前)2 。数量驱动。在Hudson 中您可以确保它拥有N 份构建。如果又有新的构建开始,最早的那份( 记录) 就将被删除。Hudson 也可以让您 建立的个别构建定义为' 永远保持这个记录' ,以便防止某些重要的构建被自动丢弃。) 这里输入的是5 ,也就是hudson 确保5 份构建。

Disable build : 如果这里被勾选,这项工作将不会执行构建,直到选项禁用为止。  

Source code management : 在默认情况下是这三个选项:Subversion,CVS,None

如果您安装了一个与SCM 相关的插件,并重新启动Hudson ,那么在这个清单上也将出现一些新的选择。

Ps :以上五点中除了第一点之外,其他都是可选择项,一般没有特殊需求不做勾选。

Build Triggers 下包含下列三个选项

Build after other projects are built : 此选项支持一条装配( 流水作业) 线—— 作业依赖: 一个作业依赖于另一个作业的输出的情况 —— 就是可以支持连续编译多个任务,设置这个选项后,在其他任务编译之后,可以立即自动启动这个任务,例如,我们通常在项目中会有二房库的部署,我们设置,先部署二房库,然后在编译我们的应用,使得依赖于二房库的应用能够正常编译成功。

      Poll SCM : 这是CI 系统中常见的选项。当您选择此选项,您可以指定一个定时作业表达式来定义Hudson 每隔多久检查一下您源代码仓库的变化。如果发现变化,就执行一次构 建。例如,表达式中填写0,15,30,45 * * * * 将使Hudson 每隔15 分钟就检查一次您源码仓库的变化。关于这个表达式的定义可参考网址:

http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html

     Build periodically : 此选项 ( 也是使用定时作业表达式) 仅仅通知Hudson 按指定的频率对项目进行构建,而不管SCM 是否有变化。如果想在这个作业中运行一些测试用例的话,它就很有帮助。    

     Add build step : 按一下这个按钮,添加了一项指令以执行构建脚本。您的指令可以是下列之一:

  1. 执行 Shell
  2. 执行 Windows  批处理
  3. 使用Ant
  4. 使用Maven

如下图:


选择使用maven 后,在下图中


       可以填入mvn 的配置文件,以及编译命令,此时需要配置生成sonar 的编译命令:mvn clean install -Dmaven.test.skip=false –Dautoconfig.skip=true sonar:sonar

如果想构建指定工程目录下的模块,可以将此处的pom.xml 文件添加相应目录,例如:

biz/credit/pom.xml, 这样就可以直接构建此工程目录下的模块代码了。

Publish javadoc : 如果构建脚本能生成JavaDoc ,此选项将指示Hudson 发布这些内容,而且立即把它公布在当前工作的主页上。每一个成功构建的文档内容都可以保 留,但在默认情况下只保留最新的。

Publish JUnit test result report : 如果构建脚本执行了JUnit 测试,此选项将指示Hudson 处理XML 测试文档并为每次连续构建产生一份可持续的报告,依据正在进行的测试汇总处理 结果。其结果是当前工作主页的一份报告,作业中的单元测试会随着时间的推移按由老至新进行陈列。

Build other projects : 较之前面的选项,这个选项主要用来实现一个合乎逻辑的构建和测试过程,它会被分为两个或两个以上的物理工作,并且会按顺序执行。当此项被选择后,您将得到 一个字段,可以在其中输入您想在当前作业中后执行的其它作业名[ 多项作业可用逗号分隔] 。即使目前的作业得出结论说构建可能不稳定,您也可以选择这样 做。( 关于 作业的稳定性 请查阅 作业状态 章节以获取更多信息)

E-mail notification : 当您选择此选项,您可以输入一个或多个电子邮件地址[ 多个可用空格分隔] ,当Hudson 完成了执行作业后,将会给它们发送通知。事件触发时将产生一份 Email ,包括构建失败、构建不稳定等。

       点击save 按钮,保存该任务的配置。然后在左侧菜单选择主页,在主页中右侧显示的是所有新建的job 任务。如下图:


      在该列表中可以看到任务名称,上次运行成功的时间和第几次运行,比如第一行上次成功中的19min#21 )就表示19 分钟前运行了第21 次,并且成功。上次失败类似。N/A 表示还没有成功或者失败运行过。上次持续时间表示运行所花费的事件。点击后面的图标便可以再次开始运行任务。

猜你喜欢

转载自alicsd.iteye.com/blog/824826