作者:姚艳红
继上篇把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
:
按一下这个按钮,添加了一项指令以执行构建脚本。您的指令可以是下列之一:
-
执行 Shell
-
执行 Windows
批处理
-
使用Ant
-
使用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
表示还没有成功或者失败运行过。上次持续时间表示运行所花费的事件。点击后面的图标便可以再次开始运行任务。
- 大小: 37.1 KB
- 大小: 86 KB
- 大小: 18.2 KB
- 大小: 2.8 KB
- 大小: 21.6 KB
分享到:
相关推荐
该视频教程旨在帮助企业更好地理解和实施持续集成(Continuous Integration, CI)流程,并通过使用Jenkins这一流行的开源工具来实现自动化构建、测试和部署。 ### 持续集成简介 持续集成是一种软件开发实践,它...
高级Java人才培训专家-012_项目部署_持续集成
在持续集成环境中,Nexus主要用于存储和管理项目依赖,如JAR包、WAR包等,同时也能存储构建产物,如SNAPSHOT或RELEASE版本的构件。Nexus通过缓存外部依赖,减少了对外部网络的依赖,加快了构建速度,同时也便于企业...
技术文档极限编程中提出的一项建议...单元测试(Unit Test) 决定了持续集成的效果 PHPUnit Framework 反映项目健康状况,利于发现问题和改进 尽快的发现错误,减少重复工作,降低风险 自动化部署,有效提高工作效率
Jenkins是一个开源的持续集成服务器,它可以监控集成流程,自动执行构建、测试和部署任务。为了在Jenkins中使用Subversion,你需要安装Subversion插件,这样Jenkins就可以从Subversion仓库拉取代码。设置Jenkins时,...
Jenkins mavn git docker-compose swarm 构建持续集成及一键式部署
Jenkins 是一款强大的开源持续集成(Continuous Integration, CI)工具,它被广泛应用于软件开发过程中,以自动化构建、测试和部署任务。通过Jenkins,开发者可以实时监控代码更改,自动触发构建过程,确保项目的...
1. **Jenkins**:Jenkins是一个开源的持续集成工具,支持多种构建、部署任务,允许开发者频繁地将代码集成到主分支,以尽早发现并修复问题。它提供丰富的插件生态,可以扩展其功能以满足各种需求。 2. **Pipeline**...
"持续集成和自动化部署实施方案" 本实施方案旨在实现持续集成、持续交付和持续部署,以提高软件开发和交付的效率和质量。本方案将使用 Jenkins 作为持续集成工具, Git 作为版本控制系统, SVN 作为版本控制系统的...
### Jenkins 持续集成部署概述 #### 一、持续集成的基本概念与目的 **持续集成(Continuous Integration, CI)**是一种软件开发实践,要求团队成员频繁地将他们的工作成果集成到共享的主干中,通常每天至少集成一...
整个持续集成环境部署完成后,开发人员每提交一次代码更改,Jenkins就会自动运行预设的构建任务,完成代码的编译、打包、部署等一系列自动化流程,从而提高开发效率和软件质量。 需要注意的是,在实际操作中可能会...
其中,Jenkins是最为流行的选择,它是一个开源的持续集成服务器,可以监控和执行基于项目源码改变的构建任务。Jenkins提供了一个友好的Web界面,允许用户配置构建触发器、构建步骤以及测试和部署脚本。 持续集成的...
总结来说,《持续集成:软件质量改进和风险降低之道》提供了关于如何实施和优化持续集成策略的全面指导,帮助IT团队提升软件开发的效率和质量,降低项目风险,以适应快速变化的市场需求。通过理解和应用书中的原则和...
Hudson是一个开源的持续集成服务器,它可以监控和执行项目的构建任务,提供实时反馈,帮助团队保持高质量的代码库。 【Hudson做增量发布】是指在每次代码变更后,仅构建和测试变化的部分,而不是整个项目。这减少了...
4. **创建项目**:在Hudson管理界面中,为每一个需要持续集成的项目创建一个Job,配置源码仓库地址、构建触发器、构建脚本等。 5. **集成工具**:安装必要的插件,使Hudson能够与你的项目工具链(如Maven、Sonar等...
在IT行业中,持续集成(Continuous Integration,CI)和自动化部署是提升开发效率、保障软件质量的重要实践。"devops持续集成自动化部署常用功能"这个主题涵盖了多种编程语言和技术,包括Shell脚本、Java和Python,...