`
答案在风中
  • 浏览: 65326 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Hudson持续构建web服务(代码更新、编译、发布、测试一体化)

阅读更多

   好久没维护博客了,今天上海的风好大,周末还奋战在前沿的同志们注意安全,废话不多说切入正题。
   前段时间负责做项目(服务端)自动化发布,也即check out project->compile->publish->test流程的一体化(想必搞服务段开发的同学们都经常要爬服务器做发布吧,看了这篇文章也许对你能有所帮助)。
   首先介绍下我使用的工具,hudson(持续集成引擎,对这个感兴趣的可以去研究下),msbuild(.net项目编译),svn client(代码的checkout)。
   由于包含server端发布以及client端Junit测试其实是两组项目,可以借助Hudson构件上下游项目,以webservice作为上游项目,完成发布后,执行下游test项目。

一.构件webservice:
1.创建自由风格项目:

完成创建后指定本项目的下游项目为Junit的测试项目


 
2.svn代码checkout:需使用到hudson中提供的svn插件(这个在系统/插件管理中可以找到)

Repository URL:填入从项目代码托管地址,正确后会需要svn登入的用户信息,填入即可。checkout 策略可以选择差量的更新,我使用的是删除后重新获取全量代码。

 3.编译前准备:

为了避免构件完成无法确定构建版本,所以我将svn文件版本作为了webservice服务dll文件版本。使用svn client的subWcRec.exe工具获取svn服务器上项目的相关信息,使用如下指令:

subwcrec.exe   模板文件路径  目标文件路径

subwcrec其实做的仅仅是将源文件中使用$WcRev$标识的属性(可以参看subwcrec指令介绍)svn文件版本进行了替换再输出覆盖目标文件。对于.net项目,可以创建template的Assembly文件,通过该指令获取到文件版本号后再覆盖参与编译的Assembly.cs文件(注意模板assembly文件不要参与编译,这仅仅是一个文本)。



 

4.编译:

我使用的是vs自带的msbuild进行的编译(Msbuild根据项目sln活csproj,执行编译类似于ant),使用msbuild前需要在hudson中安装msbuild插件。

通过configuration可以指定debug编译或是release编译


 

  5.发布:

f发布就比较简单了,将编译后的dll文件拷贝到website的bin目录下,iisreset即可。



 

二.Junit Test项目构建:

1.创建下游项目

2.svn代码check out

3.ant脚本执行



 

借助了Hudson完成了对项目自动构建部署,这个过程中还是学到蛮多东西的,希望这篇文章对大家有所帮助。

 

  欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

  • 大小: 82.5 KB
  • 大小: 50.2 KB
  • 大小: 45.3 KB
  • 大小: 54.2 KB
  • 大小: 27.2 KB
  • 大小: 27.5 KB
分享到:
评论

相关推荐

    hudson自动构建文档

    Hudson是一款开源的持续集成工具,用于自动化各种任务,包括构建、测试和部署软件。本文档将深入探讨Hudson的安装、配置、使用方法以及如何搭建远程自动构建和daily_build系统。 1. **Hudson安装** 安装Hudson通常...

    Hudson持续集成实战

    《Hudson持续集成实战》是一本专注于自动化部署的教程,旨在帮助读者掌握使用Hudson进行持续集成的关键技术和实践策略。Hudson,作为一个开源的持续集成工具,被广泛应用于软件开发过程中,以提升效率,减少错误,并...

    使用Hudson持续集成 ppt

    - **定义**:持续集成(Continuous Integration, CI)是一种软件开发实践,开发者经常将代码提交到共享存储库,每次提交后都会自动构建并进行自动化测试,以尽早发现集成错误。 - **核心价值**: - **持续反馈**:...

    hudson持续集成包

    Hudson 是一个开源的持续集成工具,主要用于自动化各种构建任务,如编译代码、运行测试、部署应用程序等。它的主要目标是提高开发团队的生产力,确保软件的质量,并在开发过程中提供快速反馈。Hudson 的优势在于其...

    hudson3下载,持续集成工具,java项目自动发布部署工具

    hudson.war是基于Java研发的一款持续集成工具的安装包,hudson是一个可以扩展的持续集成引擎,主要是用它来监控一些定时执行的任务、持续、自动地构建/测试软件项目,有需要的欢迎下载使用。 hudson下载,放在tomcat...

    Hudson持续集成服务器的安装与配置

    Hudson是一款开源的持续集成工具,它主要用于自动化各种软件开发任务,如编译代码、运行测试、部署应用程序等。在本文中,我们将深入探讨Hudson的安装与配置过程,以便帮助开发者更好地理解和利用这一强大的工具。 ...

    Hudson持续集成实战.zip

    Hudson,作为一个开源的持续集成工具,被广泛应用于软件开发团队中,以自动化构建、测试和部署过程,确保代码的质量和项目的稳定性。它提供了丰富的插件支持,使得集成多种工具和服务变得简单易行。在本文中,我们将...

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

    6. **自动化测试**:配置Hudson在每次构建时执行单元测试和集成测试,确保代码质量。 7. **持续部署**:如果需要,还可以配置Hudson在构建成功后自动将应用部署到目标环境。 使用Hudson时,有几点需要注意: 1. *...

    使用Hudson进行持续集成.doc

    总之,Hudson作为一款强大的持续集成工具,能够帮助开发团队实现自动化构建、测试和部署,提高软件开发的效率和质量。通过正确配置和使用Hudson,可以确保项目的持续集成流程顺畅,并及时发现和修复潜在问题。

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

    Hudson持续集成服务器的安装配置和使用,介绍Hudson的安装

    hudson持续集成包 01

    【Hudson持续集成包 01】:这是一个与Hudson持续集成工具相关的压缩包,包含了必要的组件和资源,用于支持软件开发过程中的自动化构建、测试和部署。Hudson是开源的持续集成服务器,旨在帮助开发者频繁地进行构建,...

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

    Hudson是一款基于Java的持续集成工具,能够自动化构建、测试和部署项目,及时发现并修复代码集成问题,防止“构建地狱”的出现。它支持多种版本控制系统,如Git、SVN等,并能与其他工具如JUnit、SonarQube等无缝集成...

    HUDSON持续集成MAVEN项目

    【HUDSON持续集成MAVEN项目】是一个关于使用HUDSON(也称为Jenkins)进行Maven项目的持续集成实践的教程。持续集成是软件开发过程中的重要环节,它通过频繁地将开发人员的代码更改合并到主分支来减少集成问题,提高...

    hudson每日构建

    Hudson,作为一个基于Java的开源持续集成工具,是开发者进行自动化构建、测试和部署的重要选择。它的核心理念是通过频繁的构建来确保软件的质量,尤其在大型项目中,这种频繁的集成能有效避免代码冲突,及时发现并...

    使用Hudson持续集成.pptx

    通过持续集成控制代码质量 Maven+Hudson+Sonar 持续集成的基本原则很简单:尽早集成,经常集成。 持续自动构建 :使用CI,您只要按一下按钮,它会依照预先制定的时间表,或者响应某一特定事件,就开始进行一次构建...

Global site tag (gtag.js) - Google Analytics