Hudson持续集成服务器(windows篇)

原创文章如需转载,请注明:转载自 leogray 原文地址: http://blog.csdn.net/leogray/article/details/6629361

Hudson服务器的配置还是比较简单的。每个事项也不需要去记,可以直接点击右边的“?”按钮就会显示此项的意义。我是搭载了VS2010的hudson服务器

一、安装与配置

1、首先可以到官网http://hudson-ci.org/下载hudson.war,安装jre的环境就可以跑起来,如果你是编译java的项目,请安装jdk。由于hudson本身内置http服务器,因此可以不安装tomcat。我搭载的hudson就没有放到tomcat下,而是直接安装成windows服务自启动即可。如果还没有安装成windows服务,可以通过命令行运行hudson。比如把下载回来的 Hudson.war 放在 D:\Hudson 目录下,在命令行下用 java -jar Hudson.war 就可以把 Hudson 开起来。但是这样的话 Hudson 会自动把它的 home 目录设定到当前用户的 home 目录下(windows下就是系统盘--->当前用户--->.hudson目录),所以我们可以在启动 Hudson 的时候手工指定一下 Hudson 的 home 目录:java -DHUDSON_HOME=D:\Hudson -jar hudson.war。启动 Hudson 之后打开浏览器,访问 http://localhost:8080 就可以看到 Hudson 的 界面了

 

2、安装MSBuild plugin,在插件管理界面可以找到,勾选安装即可。安装好 MSBuild 后要设置一下,进入系统设置,找到 MSBuild 两个字段:name 和 Path to msbuild.exe。name 填写一个有意义的如MSBuild-msvc2010等,新建任务job 设置的时候有一项选择MSbuild之后需要选择这个name,Path to msbuild.exe 就是你机器上 MSBuild.exe 的绝对路径,比如 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe。这里需要注意的是,VS2010一定要选v4.0.30319(或者你的更新,但是应该是4.0以上),3.5及其以下是VS2008及其以下版本使用的,选错了会编译失败的。

 

3、如果你想将SVN服务器跟hudson一起构建,安装了SVN服务器和客户端之后,接下来要设置一下 SCM。我没有安装SVN服务器,因为我们的SVN服务器之前是搭好在另一台服务器的,这次只是搭载Hudson服务器,在hudson上安装SVN客户端,之后会让hudson自动从SVN服务器check out代码进行编译。

 

4、hudson配置smtp服务器,记得点击advance添加用户名和密码。对于gmail的用户记得勾选校验并设置gmail端口(将来的job会以此用户给指定的项目组成员发送邮件)。邮件通知里的 Hudson URL 默认是http://localhost:8080/,改成主机名,否则收到 build 结果通知邮件以后点击链接访问localhost 是无意义的。

 

5.hudson是个插件式的服务器,需要什么可以自行安装插件。ms的系统这边我们是安装了 disk plugin(检测磁盘的容量),cppcheck plugin(静态代码检查,记得安装plugin完了,系统上还要安装cppcheck报告生成工具程序,cppcheckplugin最后也只是调用系统上的这个工具用来显示检查的结果),doxygen plugin(同样需要安装doxygen报告生成工具,plugin也是使用工具生成的文档进行显示)。在new job中对cppcheck和doxygen的路径设置都是针对hudson workspace的相对路径,这点需要注意。

 

关于doxygen还想多记录一些,本身按照doxygen的帮助文档,配置还是较为简单的。而想要更好的生成文档,还需要结合其他的工具。

graphviz这个工具是相当棒的,用于生成类图,交互图,各种咆哮图,用了你就知道了。还有就是请严格(其实doxygen支持各种风格的注释,说严格有点过了)按照注释风格书写代码注释。

 

二、创建 Hudson build job

在 Hudson 的 home 目录里有一个 jobs 的目录,里面存放着所有的 build job,在具体job 的目录下有一个 workspace 文件夹,里面存放的就是从 SCM 里 check out 出来的代码,你可以自己指定 workspace 的位置。

1、在 Hudson 界面里新建任务,然后选 Build a free-style software project 这个类型。(其他类似暂时没有用过)

 

2、点击 Advanced Project Options 可以设置一些不常用的高级选项,如 Use custom workspace 就可以指定 workspace 的位置。这个选项可以让你把代码 check out 到一个特定名字的文件夹里。假设你想把 code check out 到一个叫 branch 的文件夹里,可以在 Use custom workspace 里设置 D:\Hudson\jobs\foo\workspace\branch。Hudson 内部定义了一些环境变量,使用这些变量可以增加 job settings 的灵活性,比如上面这个目录可以写成:$HUDSON_HOME\jobs\$JOB_NAME\workspace\branch,这样如果你以后变动了 Hudson 的安装位置就可以不用重新设置 job settings 了。有关 Hudson 的环境变量可以访问http://wiki.hudson-ci.org/display/HUDSON/Building+a+software+project#Buildingasoftwareproject-HudsonSetEnvironmentVariables。一但在这里设置了 custom workspace,那么再使用 $WORKSPACE 这个环境变量拿到的就是这个 custom workspace 的位置,而不是默认的位置。还有类似于build信息的保存期限的,有两种方式,一种是以时间为期限,如设置7天,另一种是数量,如保存10次构建过程信息,其他高级选项可通过对应右边的“?”查看配置。

 

3、选中 Build Triggers 里的 Build periodically 就可以让 Hudson 在特定的时间自动触发一个 build,如你想让这个 build 在每天凌晨 0 点自动触发,可以写成 0 0 * * *。具体的语法可以点击界面右边的“?”按钮,会显示出很详细的细节。

 

4、poll scm 根据检测的更新去执行构建,语法与3、相同

 

5、在 Build 节里点 Add build step,选 Build a Visual Studio project or solution using MSBuild,然后来设置 MSBuild。有 3 个 field 需要设置:MsBuild Version 这里选我们在系统设置设置的 MSBuild 的 name,如果你机器上有多个版本的 MSBuild,这里可以选择合适的版本。MsBuild Build File 这里填 .sln 或者 .vcproj 文件的位置。Command Line Arguments 这里填需要传递给 MSBuild 的命令行参数。比如你要编译 test.sln 里的 p1,p2,p3 这三个工程,如果写成这样:/p:Configuration=Release /t:p2:Rebuild,就只有p2会被编译,但是顺序必须是 2->3->1,那么可以传这个参数:/p:Configuration=Release /t:p2;p3;p1,如果想做一个 clean build,/p:Configuration=Release /t:Clean;p2;p3;p1。之后在Add build step里面新建两个windows的bat,用于执行cppcheck和doxygen,cppcheck的bat类似与cppcheck --xml E:\hudson\Source 2 > E:\hudson\Source\CppcheckReports.xml,doxygen的bat类似于 doxygen doxyfile(doxyfile为配置文件的名字),job最下面配置post build actions的时候就可以勾选cppcheck,doxygen了,对应的路径都是填写相对workspace的路径。这个需要注意

 

6、设置邮件通知,之后保存,一个job就创建好了,可以点击立即生成来启动一次构建。

 

期间配置插件的一些资料:

http://dev.sei.pku.edu.cn/trac/pkuas/wiki/DocbookInWindows

http://qtnode.net/wiki/QtTest_XML_Output

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值