[转]SVN + CruiseControl.NET + NANT 自动编译提交的项目最小DEMO
本文转自:http://blog.csdn.net/markgoo/article/details/5739103
第一步,当然是安装这些软件了,
SVN — 我用的是TortoiseSVN , 方便与windows集成. CruiseControl.NET — 最新版本可以从这里获取: 点我 NANT — 构建工具,无需多说, 点我 还需要:IIS.
第二步, 打开C:/Program Files/CruiseControl.NET/server/ccnet.config(C:/Program Files/CruiseControl.NET为安装目录), 一开始其中是空的, 删掉所有内容,然后填入以下内容
- <cruisecontrol xmlns:cb="urn:ccnet.config.builder">
- <project name="Test1">
- <triggers>
- <intervalTrigger initialSeconds="0" seconds="1800"/>
- </triggers>
- <sourcecontrol type="svn">
- <trunkUrl>svn://mgytset/MGDataAccess/</trunkUrl>
- <workingDirectory>c:/CCNetTest1</workingDirectory>
- <executable>C:/Program Files/CollabNet Subversion Server/svn.exe</executable>
- <username>XXXXX</username>
- <password>XXXXX</password>
- </sourcecontrol>
- </project>
- </cruisecontrol>
其中intervalTrigger 这里配置了多少时间自动触发.这里设置了30分钟自动重新编译. 然后配置版本控制的信息: sourcecontrol : 使用哪种版本控制工具, trunkUrl :该项目的SVN路径, workingDirectory :配置的这个目录将作为CruiseControl.NET的工作目 录,CruiseControl.NET会将代码从SVN中 check out到这个目录中. executable :填入你机器上的SVN的可执行文件路径. username/password : SVN的用户名与密码.
这个时候可以先进入服务,把CruiseControl.NET服务启动了
然后进入IIS中的CCNET(默认名),点查看就可以进入到CruiseControl.NET的页面了.
点击右方Admin 下的Force 按钮来强制重新获取最新版本.过一会就能 看到Status 变成 Successful了.
做到这里.我们已经基本能够看到效果了,但是我们还有一个没有做, 就是现在没有编译, 接下来我们就要让这项目自动编译,然后让CruiseControl.NET来显示编译结果.
首先,我们需要给我们的项目创建一个NANT的build文件.以下是一个很基本的build文件,大家也可以去股沟一下更具体的配置方法.
- <?xml version="1.0"?>
- <project name="MGDataAccess" default="build" basedir=".">
- <property name="debug" value="true" overwrite="false" />
- <target name="clean">
- <delete dir="bin" failonerror="false"/>
- <delete dir="obj" failonerror="false"/>
- </target>
- <target name="build" depends="clean">
- <csc target="library" output="bin/debug/MGDataAccess.dll" debug="${debug}">
- <sources>
- <include name="*/*"/>
- <exclude name="MGDataAccess.build" />
- </sources>
- </csc>
- </target>
- </project>
这里面第一个target是clean,用来删除bin 以及 obj文件夹, 第二个target 是build,加了depends=”clean” 之后执行 build会首先执行clean的工作. exclude 这个是排除哪些文件不让其编译. 保存这个文件为MGDataAccess.build,放到你的项目目录中去.
* 对于NANT的build文件,有一个项目nantcontrib可以自动生成,但是我每次都失败了,各位也 可以去看看nantcontrib
然后再一次打开CruiseControl.NET的配置文件ccnet.config,在project node下面再加入以下内容:
- <tasks>
- <nant>
- <executable>C:/Program Files/NAnt/bin/nant.exe</executable>
- <buildFile>C:/CCNetTest1/MGDataAccess.build</buildFile>
- </nant>
- </tasks>
executable :NANT的可执行文件路径. buildFile : 之前配置的build文件的路径.
这样之后再去force一下,就是项目编译之后的结果了,可以尝试故意让项目不能编译,然后commit到SVN,这个时候force一下,就会看 到项目的status为failed了
一个最基本的DEMO就完成了, 如果有任何问题请告诉我哦!
之后我还会将NUnit以及simian加入进来,让这个小DEMO更加完善.
[转]SVN + CruiseControl.NET + NANT 自动编译提交的项目最小DEMO相关推荐
- 第10步 (1)logback.xml日志配置(2) ftp(上传文件)服务器配置(3) idea注入和自动编译配置(4)项目提交gitee(5)fe助手和restlet client
**************************************************************************************************** ...
- Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包
上篇介绍了怎么使用ant自动编译打包现有的android项目,这篇将继续介绍如果如何在ant打包应用的时候加入签名信息以及自动打包渠道包. 1. 加入签名信息: 在项目的根目录下建一个ant.prop ...
- Jenkins搭建.NET自动编译测试并实现半增量部署
@hzl201 2020-04-13 09:26 字数 18724 阅读 3353 Jenkins搭建.NET自动编译测试并实现半增量部署 运维 jenkins 前言 以前写前端项目打包部署,都是手动 ...
- 淘宝网最佳实践之ABS自动编译
文 / 李宇 李方 最早提出ABS的目的是为了把QA(Quality Assurance,品质保证)和PE(Project Engineering,项目工程)从编译任务中解放出来,从而避免重复劳动,提 ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- 如何使用NAnt 自动打包DNN模块 之二
系列文章: 如何使用NAnt 自动打包DNN模块 之一 如何使用NAnt 自动打包DNN模块 之二 使用MSBuilder编译项目时,会出现找不到引用的DLL的问题.可以参考这里解决:http://w ...
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报 分类: ...
- MyEclipse项目无法自动编译解决方案
通过svn导入一个项目,然后把项目中classes文件夹所有文件删除了,没想到myeclipse就不再自动编译了. 网上找了一大堆解决方案,结果都千篇一律,连错别字都一样,不过其中一个提示到提醒了我, ...
- 一文搭建Vuepress博客/文档系统:搭建,导出,SEO,自动编译和部署,域名,HTTPS,备案等
本文纯原创,搭建后的博客/文档网站可以参考: Java 全栈知识体系.如需转载请说明原处. 文章内容目录 文章内容目录 第一部分 - 博客/文档系统的搭建 博客/文档搭建前言 有哪些选择 我做了哪些尝 ...
最新文章
- H.264/H265码流解析
- setTimeOut()
- Ubuntu系统安装stardict(星际译王)词典
- 通过rsync实现数据备份
- EXSITS应该怎么用?
- 分析工厂模式中的问题并改造
- 使用 yield 减少内存消耗
- 互斥量和信号量的区别
- windows程序窗体创建流程模型A--利用基本数据类型
- java使用JMail通过QQ邮件服务器实现自动发送邮件
- 各种排序总结(五)快速排序
- html5d调用百度语音,易语言调用百度语音平台实现文字转换语音功能的代码
- 数据接口请求异常:error_springboot2.2.X手册:构建多元化的API接口,我们这样子设计
- 【To Understand! 回文串6 KMP算法】LeetCode 214. Shortest Palindrome
- 两边双虚线是什么意思_【宠物百科】哈士奇双血统是什么意思?
- laravel实现mysql读写分离
- 专访许鹏:谈C程序员修养及大型项目源码阅读与学习
- 量化投资:研报文本挖掘选股策略
- Leetcode刷题100天—剑指 Offer 50. 第一个只出现一次的字符(队列)—day13
- 【SCOI2009】粉刷匠
热门文章
- win10计算机如何切换用户名,Win10怎么修改本地账号的用户名 win10本地账户改名图文教程...
- Occupations(表分割问题)
- LeetCode Nth Digit
- (转)Android 使用com.j256.ormlite
- python smtp 群发邮件
- iOS SDK:iOS调试技巧
- decimal(numeric )、float 和 real 数据类型的区别
- ic卡消费管理系统_智能食堂管理解决方案 智能刷卡消费
- Spring3 表达式语言(SpEL)介绍
- WebService大讲堂之Axis2(7):将Spring的装配JavaBean发布成WebService