好久没维护博客了,今天上海的风好大,周末还奋战在前沿的同志们注意安全,废话不多说切入正题。
前段时间负责做项目(服务端)自动化发布,也即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完成了对项目自动构建部署,这个过程中还是学到蛮多东西的,希望这篇文章对大家有所帮助。
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
相关推荐
Hudson是一款开源的持续集成工具,用于自动化各种任务,包括构建、测试和部署软件。本文档将深入探讨Hudson的安装、配置、使用方法以及如何搭建远程自动构建和daily_build系统。 1. **Hudson安装** 安装Hudson通常...
《Hudson持续集成实战》是一本专注于自动化部署的教程,旨在帮助读者掌握使用Hudson进行持续集成的关键技术和实践策略。Hudson,作为一个开源的持续集成工具,被广泛应用于软件开发过程中,以提升效率,减少错误,并...
- **定义**:持续集成(Continuous Integration, CI)是一种软件开发实践,开发者经常将代码提交到共享存储库,每次提交后都会自动构建并进行自动化测试,以尽早发现集成错误。 - **核心价值**: - **持续反馈**:...
Hudson 是一个开源的持续集成工具,主要用于自动化各种构建任务,如编译代码、运行测试、部署应用程序等。它的主要目标是提高开发团队的生产力,确保软件的质量,并在开发过程中提供快速反馈。Hudson 的优势在于其...
hudson.war是基于Java研发的一款持续集成工具的安装包,hudson是一个可以扩展的持续集成引擎,主要是用它来监控一些定时执行的任务、持续、自动地构建/测试软件项目,有需要的欢迎下载使用。 hudson下载,放在tomcat...
Hudson是一款开源的持续集成工具,它主要用于自动化各种软件开发任务,如编译代码、运行测试、部署应用程序等。在本文中,我们将深入探讨Hudson的安装与配置过程,以便帮助开发者更好地理解和利用这一强大的工具。 ...
Hudson,作为一个开源的持续集成工具,被广泛应用于软件开发团队中,以自动化构建、测试和部署过程,确保代码的质量和项目的稳定性。它提供了丰富的插件支持,使得集成多种工具和服务变得简单易行。在本文中,我们将...
6. **自动化测试**:配置Hudson在每次构建时执行单元测试和集成测试,确保代码质量。 7. **持续部署**:如果需要,还可以配置Hudson在构建成功后自动将应用部署到目标环境。 使用Hudson时,有几点需要注意: 1. *...
总之,Hudson作为一款强大的持续集成工具,能够帮助开发团队实现自动化构建、测试和部署,提高软件开发的效率和质量。通过正确配置和使用Hudson,可以确保项目的持续集成流程顺畅,并及时发现和修复潜在问题。
Hudson持续集成服务器的安装配置和使用,介绍Hudson的安装
【Hudson持续集成包 01】:这是一个与Hudson持续集成工具相关的压缩包,包含了必要的组件和资源,用于支持软件开发过程中的自动化构建、测试和部署。Hudson是开源的持续集成服务器,旨在帮助开发者频繁地进行构建,...
Hudson是一款基于Java的持续集成工具,能够自动化构建、测试和部署项目,及时发现并修复代码集成问题,防止“构建地狱”的出现。它支持多种版本控制系统,如Git、SVN等,并能与其他工具如JUnit、SonarQube等无缝集成...
【HUDSON持续集成MAVEN项目】是一个关于使用HUDSON(也称为Jenkins)进行Maven项目的持续集成实践的教程。持续集成是软件开发过程中的重要环节,它通过频繁地将开发人员的代码更改合并到主分支来减少集成问题,提高...
Hudson,作为一个基于Java的开源持续集成工具,是开发者进行自动化构建、测试和部署的重要选择。它的核心理念是通过频繁的构建来确保软件的质量,尤其在大型项目中,这种频繁的集成能有效避免代码冲突,及时发现并...
通过持续集成控制代码质量 Maven+Hudson+Sonar 持续集成的基本原则很简单:尽早集成,经常集成。 持续自动构建 :使用CI,您只要按一下按钮,它会依照预先制定的时间表,或者响应某一特定事件,就开始进行一次构建...