`
csd_ali
  • 浏览: 136129 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

持续集成-项目部署

阅读更多

作者:姚艳红

 

     继上篇把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 表示还没有成功或者失败运行过。上次持续时间表示运行所花费的事件。点击后面的图标便可以再次开始运行任务。

 

  • 大小: 37.1 KB
  • 大小: 86 KB
  • 大小: 18.2 KB
  • 大小: 2.8 KB
  • 大小: 21.6 KB
0
0
分享到:
评论
5 楼 nathan09 2011-10-08  
不知道你们那边,现在sonar用的怎么样,效果如何?
4 楼 nathan09 2011-10-08  
没看到sonar。。。失望。。。
3 楼 lovefly_zero 2010-12-13  

黑暗浪子 写道
感觉还是hudson应用。没有看出sonar的优势

看来我歹好好加快Sonar教程
2 楼 jelver 2010-11-29  
sonar的优势在于对代码 coverage 和rule  方面的统计
1 楼 黑暗浪子 2010-11-26  
感觉还是hudson应用。没有看出sonar的优势

相关推荐

    2019企业实战持续集成-Jenkins视频教程.txt

    该视频教程旨在帮助企业更好地理解和实施持续集成(Continuous Integration, CI)流程,并通过使用Jenkins这一流行的开源工具来实现自动化构建、测试和部署。 ### 持续集成简介 持续集成是一种软件开发实践,它...

    高级Java人才培训专家-012-项目部署-持续集成

    高级Java人才培训专家-012_项目部署_持续集成

    持续集成-Maven-nexus-SNV-jenkins架构

    在持续集成环境中,Nexus主要用于存储和管理项目依赖,如JAR包、WAR包等,同时也能存储构建产物,如SNAPSHOT或RELEASE版本的构件。Nexus通过缓存外部依赖,减少了对外部网络的依赖,加快了构建速度,同时也便于企业...

    PHP项目持续集成---Jenkins.ppt

    技术文档极限编程中提出的一项建议...单元测试(Unit Test) 决定了持续集成的效果 PHPUnit Framework 反映项目健康状况,利于发现问题和改进 尽快的发现错误,减少重复工作,降低风险 自动化部署,有效提高工作效率

    持续集成-Subversion+Apache+Jsvnadmin+jenkins

    Jenkins是一个开源的持续集成服务器,它可以监控集成流程,自动执行构建、测试和部署任务。为了在Jenkins中使用Subversion,你需要安装Subversion插件,这样Jenkins就可以从Subversion仓库拉取代码。设置Jenkins时,...

    Jenkins+docker-compose+swarm 构建持续集成及一键式部署

    Jenkins mavn git docker-compose swarm 构建持续集成及一键式部署

    jenkins(持续集成)

    Jenkins 是一款强大的开源持续集成(Continuous Integration, CI)工具,它被广泛应用于软件开发过程中,以自动化构建、测试和部署任务。通过Jenkins,开发者可以实时监控代码更改,自动触发构建过程,确保项目的...

    Jenkins高级篇之Pipeline实践篇-5-Selenium和Jenkins持续集成-Pipelinejob草稿版.rar

    1. **Jenkins**:Jenkins是一个开源的持续集成工具,支持多种构建、部署任务,允许开发者频繁地将代码集成到主分支,以尽早发现并修复问题。它提供丰富的插件生态,可以扩展其功能以满足各种需求。 2. **Pipeline**...

    持续集成和自动化部署实施方案

    "持续集成和自动化部署实施方案" 本实施方案旨在实现持续集成、持续交付和持续部署,以提高软件开发和交付的效率和质量。本方案将使用 Jenkins 作为持续集成工具, Git 作为版本控制系统, SVN 作为版本控制系统的...

    Jenkins可持续集成部署文档.pdf

    ### Jenkins 持续集成部署概述 #### 一、持续集成的基本概念与目的 **持续集成(Continuous Integration, CI)**是一种软件开发实践,要求团队成员频繁地将他们的工作成果集成到共享的主干中,通常每天至少集成一...

    Jenkins+Maven+SVN+Tomcat 持续集成环境快捷部署

    整个持续集成环境部署完成后,开发人员每提交一次代码更改,Jenkins就会自动运行预设的构建任务,完成代码的编译、打包、部署等一系列自动化流程,从而提高开发效率和软件质量。 需要注意的是,在实际操作中可能会...

    java持续集成 持续集成

    其中,Jenkins是最为流行的选择,它是一个开源的持续集成服务器,可以监控和执行基于项目源码改变的构建任务。Jenkins提供了一个友好的Web界面,允许用户配置构建触发器、构建步骤以及测试和部署脚本。 持续集成的...

    持续集成软件质量改进和风险降低之道.pdf

    总结来说,《持续集成:软件质量改进和风险降低之道》提供了关于如何实施和优化持续集成策略的全面指导,帮助IT团队提升软件开发的效率和质量,降低项目风险,以适应快速变化的市场需求。通过理解和应用书中的原则和...

    持续集成php持续集成

    Hudson是一个开源的持续集成服务器,它可以监控和执行项目的构建任务,提供实时反馈,帮助团队保持高质量的代码库。 【Hudson做增量发布】是指在每次代码变更后,仅构建和测试变化的部分,而不是整个项目。这减少了...

    持续集成篇--Hudson持续集成服务器的安装配置和使用.pdf

    4. **创建项目**:在Hudson管理界面中,为每一个需要持续集成的项目创建一个Job,配置源码仓库地址、构建触发器、构建脚本等。 5. **集成工具**:安装必要的插件,使Hudson能够与你的项目工具链(如Maven、Sonar等...

    devops持续集成自动化部署常用功能

    在IT行业中,持续集成(Continuous Integration,CI)和自动化部署是提升开发效率、保障软件质量的重要实践。"devops持续集成自动化部署常用功能"这个主题涵盖了多种编程语言和技术,包括Shell脚本、Java和Python,...

Global site tag (gtag.js) - Google Analytics