作者:朱金灿

来源:http://blog.csdn.net/clever101

首先需要在服务器上安装以下工具:

(1)hudson,我推荐从http://hudson-ci.org/downloads/war/下载一个2.2.1版本。

(2)svn工具,我推荐TortoiseSVN 1.6。

(3)vs2008,装不装vs2008 sp1看你的需要。

1.在hudson的系统配置界面上配置svn工具,具体如下图:

2.在hudson上安装MSBuild插件并进行配置,具体如下:

(1)选择Manage Plugins,如下图:

(2) 选择Available选项卡,如下图:

(3)勾选MSBuild插件,单击下面的Install完成安装。

(4)回到Configure System页面,配置MSBuild,具体如下:

先单击Add MSBuild按钮,然后填写一个Name(可以任意命名),然后再填写MSBuild.exe所在的路径,一般在C:\WINDOWS\Microsoft.NET\Framework\v3.5、C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727或者C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319,如下图:

2.创建一个new Job并执行,具体如下:

(1)填写Job name,选择Build a free-style softwareprojexct,如下图:

(2)填写Project Name和Descript,如下图:

(3)在Advanced Project Options中设置服务器上的工作空间,实际上就是设置从svn代码仓库中check out的代码放到哪个文件夹下,如下图:

(4)填写svn代码仓库地址,如下图:

(5)填写工程编译命令行,在 Build 节里点 Add build step,选 Build a Visual Studio project orsolution using MSBuild,然后来设置 MSBuild。有 3 个 field 需要设置:

MsBuild Version 这里选我们在系统设置设置的 MSBuild 的 name,如果你机器上有多个版本的 MSBuild,这里可以选择合适的版本。

MsBuild Build File 这里填 .sln 或者 .vcproj 文件的位置。

Command Line Arguments 这里填需要传递给 MSBuild 的命令行参数。比如你要编译 foo.sln 里的 t1,t2,t3 这三个工程,但是顺序必须是 2->3->1,那么可以传这个参数:/p:Configuration=Release /t:t2;t3;t1,如果想做一个 clean build,那么只需要在第一个 target 前加上 Clean 即可——/p:Configuration=Release /t:Clean;t2;t3;t1,具体如下图:

(6)单击Build Now,获取最新源码并编译工程,如下图:

参考文献:

1. 用Hudson 实现Visual Studio (C++) 项目的daily build

hudson绑定svn和vs2008实现持续构建的更多相关文章

  1. SVN+Maven+Tomcat+Jenkins持续构建

    一.准备工作 1.1安装软件 安装JDK.SVN.Maven.Tomcat.Jenkins及必要插件. 1.2安装jenkins所需插件 最开始安装jenkins时选择安装默认的插件. 其他插件: M ...

  2. Hudson+Maven+Svn搭建持续集成环境

    Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1.    Hudson: Hudson 是一种革命性的开放源码 ...

  3. jenkins+docker 持续构建非docker in docker jenkins docker svn maven

    工欲善其事必先利其器,为了解脱程序员的,我们程序员本身发明了很多好用的工具,通过各种工具的组合来达到我们想要的结果 本文采用jenkins docker svn maven作为相关工具,项目sprin ...

  4. 获取hudson持续构建编译结果的一种方法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 很多时候使用hudson结合VisualStudio进行持续构建后需要获取持续构建的编译结果,通过编译结果来知道哪些项 ...

  5. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  6. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  7. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  8. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...

  9. 个人环境搭建——搭建jenkins持续构建集成环境

    ---恢复内容开始--- 搭建jenkins持续构建集成环境  要搭建jenkins持续构建集成环境,首先要安装tomcat和JDK:   第一部分,基本说明:   敏捷(Agile) 在软件工程领域 ...

随机推荐

  1. 全面解析Activity的生命周期

    欢迎Follow我的GitHub, 关注我的CSDN. 在Android应用中, Activity是最重要的组件, 其生命周期(Lifecycle)被大家所熟知. 可是, 大家须要注意一些细节, 才干 ...

  2. trident原理及编程指南

    目录 trident原理及编程指南 一.理论介绍 1.trident是什么? 2.trident处理单位 3.事务类型 二.编程指南 1.定义输入流 2.统计单词数量 3.输出统计结果 4.split ...

  3. Android系统开发(5)——Eclipse for C/C++

    一.下载JDK 官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二 ...

  4. VC ADO “ParameterDirectionEnum”:“enum” 类型等 重定义问题 解决方案

    原因分析: 1.在头文件中: #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace ...

  5. Socket编程模型之完毕port模型

    转载请注明来源:viewmode=contents">http://blog.csdn.net/caoshiying?viewmode=contents 一.回想重叠IO模型 用完毕例 ...

  6. Java随机验证吗

    <span style="font-size:18px;">package com.java.process.jsp; import java.awt.Color; i ...

  7. 无意中发现Markdown,最终解放了我

    文件夹 概述 换行 删除线 链接自己主动识别 表格 代码块高亮 定义列表 脚注 自己主动生成文件夹 參考资料 正文 概述 大部分情况下,Markdown的基本的语法已够我们使用,比方随性记录点东西.非 ...

  8. gerrit docker

    修改项目配置文件 git clone ssh://admin@localhost:29418/All-Projects && scp -p -P 29418 admin@localho ...

  9. 网站访问优化(二):开启apache服务器gzip压缩

    昨天,把带宽从1M升级到2M,使用cdn版本的jquery之后,网站访问速度由平均5s(在禁止缓存的情况下,使用缓存大概在2.8s)下降到2.8s的样子. 今天,继续优化. 第1步:   把图片进行了 ...

  10. jquery获取元素坐标获取鼠标坐标

    获取页面某一元素的绝对X,Y坐标,可以用offset()方法: var X = $('#DivID').offset().top; var Y = $('#DivID').offset().left; ...