首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

继续集成-项目部署

2012-08-03 
持续集成-项目部署作者:姚艳红?? ?? 继上篇把Hudson+Sonar集成好以后,那就需要发挥他们两个的威力了。现在

持续集成-项目部署

作者:姚艳红

?

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

?

?

Step by step:

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


继续集成-项目部署

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



继续集成-项目部署

?

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

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

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

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

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

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

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

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

Build Triggers下包含下列三个选项

Buildafter 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。

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

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

    执行?Shell执行?Windows?批处理使用Ant使用Maven

如下图:


继续集成-项目部署

选择使用maven后,在下图中


继续集成-项目部署

?

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

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

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

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

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

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

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

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


继续集成-项目部署

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

?

5 楼 nathan09 2011-10-08   不知道你们那边,现在sonar用的怎么样,效果如何?

热点排行