- 浏览: 117764 次
- 来自: ...
文章分类
最新评论
持续集成 .Net手册
一、概念
Martin Fowler的文章:Continuous Integration 中文翻译:持续集成
二、工具
传统工具:VisualStudio.Net,VisualSourceSafe,Rational ClearCase
自动编译工具:NAnt,NAntContrib
回归测试工具:NUnit
代码检查工具:FxCop
持续集成工具:CruiseControl.Net
三、步骤
-
CruiseControl.Net监控远程版本控制系统的变化
-
变化发生时CruiseControl.Net调用编译工具进行编译(NAnt或VisualStudio.Net)
-
编译成功后调用NUnit进行回归测试
-
编译成功后调用FxCop进行代码检查
-
完毕后将编译结果、测试结果、代码检查结果发送至开发人员、主管经理,并发布至网站
图示:
所有这一切都是按照编制好的脚本自动进行的
四、实施示例
目前我们使用的是ClearCase
主控软件为CruiseControl.Net,其脚本文件为ccnet.config
-
配置远程版本控制系统
<viewPath>D:/cc_view/USE_TECH_DEPT/Platform/Nucleus/2产品开发/2实现/Nucleus1.0/Source</viewPath><useLabel>false</useLabel></sourcecontrol>
-
配置编译工具
<executable>F:/software/Agile.Net/nant-0.85-nightly/bin/nant.exe</executable><baseDirectory>F:/software/Agile.Net/nant-0.85-nightly/bin</baseDirectory><buildFile>Y:/nucleus.build</buildFile><logger>NAnt.Core.XmlLogger</logger><target>build</target><target>fxcop</target></targetList></build>
-
配置测试用例
- 配置报告形式
<publishers><projectUrl>http://ajaxchelsea/ccnetweb</projectUrl><user name="BuildGuru" group="buildmaster" address="ajaxchelsea@163.com" /><user name="chelsea" group="developers" address="chelsea@chelseafc.com" /><user name="ajax" group="developers" address="ajax@ajaxfc.com" /></users><group name="developers" notification="always" /><group name="buildmaster" notification="always" /></groups></email></publishers>
- 其中CruiseControl.Net没有提供代码检查工具FxCop的支持,其文档建议使用NAnt的<exec>任务来调用FxCop,直到出现<fxcop>的Task,因此,需要配置NAnt的脚本文件:
<exec program="D:/Program Files/Microsoft FxCop 1.30/fxcopcmd.exe" commandline="/p:Y:/nucleus.fxcop /o:Y:/nucleus.xml" failonerror="false" /></target>
五、几点提示
- CruiseControl.Net会自动根据本地ClearCase的View监控远程VOB
- 其实除了监控远程版本控制系统外其它的任务都可以由NAnt来完成,CCNet只负责监控变化并调用NAnt即可
- 可以直接为CCNet配置VisualStudio.Net解决方案"<build type="devenv" solutionfile="D:/dev/MyProject/MyProject.sln" configuration="debug" /> ",但这样就无法配置FxCop了,至少目前如此;
- ccnetservice.exe.config中有一句“<add key="ccnet.config" value="C:/Downloads/TestData/ccnet.config" /> ”应该是配置ccnet.config的路径,但现在好像不管用,还得将ccnet.config放在server目录下
- 最好避免中文路径,否则就需要手工为几个Xml格式的文件,如.csproj等加入编码方式“<?xml version="1.0" encoding="UTF-8" ?> ”,或者将中文路径映射为虚拟硬盘:“subst Y: "D:/cc_view/USE_TECH_DEPT/Platform/Nucleus/2产品开发/2实现/Nucleus1.0/Source"”
- NUnit有VisualStudio.Net插件NUnitAddin,FxCop等亦可以配置为VisualStudio外部工具,推荐使用
- 各种工具的安装、使用,在各自的文档里都非常详细,网上亦有无数资源
六、参考资料
发表评论
-
The Object Primer
2004-12-11 11:21 5861,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 755错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 592前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 606前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 46314.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 642同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 606有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 610设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 671关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 708交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 610整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 802一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 745事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 837经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 739BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 6721, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 718读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 753十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 706Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 655Event BusinessWare是一个事件驱动的系统 ...
相关推荐
11. **Web开发最佳实践**:包括代码组织、版本控制、单元测试和持续集成等,这些都是提高开发效率和代码质量的关键。 通过阅读《C#完全手册.pdf》和参考《webasp.net.txt》,初学者可以系统地学习C#语言和ASP.NET...
同时,也会讲解代码版本控制的重要性,如Git的使用,以及持续集成和部署的概念。 最后,友情提示.txt可能是一个额外的文档,提醒读者在学习过程中注意的一些要点,例如保持良好的编程习惯,遵循最佳实践,以及如何...
- 使用Visual Studio和第三方工具进行持续集成,编写单元测试和集成测试以确保代码质量。 13. **云部署** - 针对Azure云平台的ASP.NET应用程序部署策略和最佳实践。 通过这份"ASP.Net 手册Word版",无论是初学者...
13. **持续集成与自动化测试**:TFS(Team Foundation Server)或VSTS(Visual Studio Team Services)等工具支持持续集成,NUnit、MSTest等框架可用于编写和执行单元测试,确保代码质量。 以上只是ASP.NET参考手册...
ASP.NET支持TDD(Test Driven Development)和持续集成,通过Visual Studio和第三方工具如NUnit、MSTest等,可以编写和运行单元测试,确保代码质量。 总而言之,“ASP.NET类库查询手册”涵盖了ASP.NET开发的各个...
### ASP.NET 入门学习手册知识点总结 #### 一、ASP.NET 发展战略与发展概况 - **背景**:ASP.NET 是微软.NET框架的一部分,旨在提供一种新的方式来创建动态网页和应用程序。它作为Active Server Pages (ASP) 的下...
15. **单元测试与持续集成**:使用如 MSTest、NUnit 或xUnit进行单元测试,结合Jenkins、GitLab CI/CD等工具进行持续集成和持续部署。 "ASP.NET 完全手册"可能会详细讲解这些概念,并提供实际示例和实践指导。通过...
10. **单元测试与持续集成**:介绍如何编写测试代码,使用MSTest、NUnit或xUnit,以及如何配置持续集成(CI)和持续部署(CD)。 【标签】中的"好很用"表明ASP.NET在实际项目中表现出色,易于学习和应用,且具有...
11. **持续集成与持续交付(CI/CD)**:随着DevOps的流行,手册也会涉及如何在Visual Studio中配置CI/CD流程,以实现自动化构建和部署。 12. **云计算开发**:如果适用,手册会涵盖使用Azure服务,如Azure Functions...
13. **持续集成与自动化测试**:如何利用Visual Studio Team Services或Jenkins等工具进行持续集成,以及编写单元测试和集成测试。 手册中的"说明.txt"文件可能提供了关于如何阅读和使用这份资源的指导,包括目录...
VB.NET的调试工具集成了Visual Studio IDE,提供了多种调试手段,包括设置断点、单步执行、查看变量值、调用堆栈分析、异常处理等。 首先,了解如何设置断点是调试的基础。在VB.NET代码中,你可以通过在行号前点击...
1. **Team Foundation Server (TFS)** 或 **Azure DevOps**:提供版本控制、工作项跟踪、持续集成等功能,助力团队协作。 2. **源代码同步**:通过Git或TFS,实现团队成员间的代码同步与合并。 **八、自动化与集成*...
9. **单元测试和持续集成**:理解单元测试的重要性,学习使用Visual Studio内置的测试工具进行测试驱动开发。同时,了解持续集成的概念和实践,如使用MSBuild和Team Foundation Server。 10. **扩展与插件**:了解...
10. **持续集成和持续部署(CI/CD)** - 了解Jenkins、Azure DevOps或GitHub Actions等工具,实现自动化构建、测试和部署,提升开发效率。 通过阅读《ASP.NET完全手册》,读者可以逐步掌握这些知识点,从零开始构建...
14. **持续集成/持续部署(CI/CD)**:理解CI/CD的概念,以及如何在Visual Studio .NET中配置和实现自动化构建和部署流程。 《Visual Studio .NET 使用技巧手册》不仅提供了基础操作的指导,还深入探讨了高级特性和...
5. **测试驱动开发**:如何编写单元测试,集成测试,以及使用持续集成/持续部署(CI/CD)工具进行自动化测试。 6. **ASP.NET与Web开发**:对于Web应用开发者,可能会讲解如何使用ASP.NET框架创建动态网站,包括MVC...
14. **持续集成/持续部署(CI/CD)**:学习如何设置和配置Visual Studio的CI/CD流程,实现自动化构建和部署。 15. **代码审查**:通过Visual Studio内置的代码审查工具,可以进行代码质量检查和同行评审,提升团队...
9. **测试和调试**:单元测试、集成测试和持续集成的重要性,以及使用如NUnit、Moq等工具进行测试的方法。 10. **部署和运维**:探讨IIS(Internet Information Services)配置、发布策略、负载均衡、故障转移集群...
10. **协作与团队开发**:理解Team Foundation Server(TFS)或Azure DevOps的工作流程,包括代码审查、任务管理、持续集成和持续部署(CI/CD)。 11. **ASP.NET Web开发**:对于.NET框架下的Web应用开发,了解如何创建...
9. **协同开发工具**:掌握团队探索者(Team Explorer)的使用,进行源代码控制、工作项管理、持续集成等团队协作活动。 10. **Web开发**:了解ASP.NET的MVC模式,以及如何使用ASP.NET AJAX来提升Web应用的用户体验...