.NET环境下每日集成(7):CruiseControl.Net Task Blocks

简介:

Task Block 类型:

  • Build Publisher
  • Email Publisher
  • Executable Task
  • File Merge Task
  • FinalBuilder Task
  • ForceBuildPublisher
  • Modification Writer Task
  • MsBuild Task
  • NAnt Task
  • Null Task
  • NUnit Task
  • Statistics Publisher
  • Visual Studio Task
  • Xml Log Publisher

任务是顺序执行的,这里我只提Build Publisher,NUnit Task,MsBuild Task,Executable Task,Email Publisher

1.Build Publisher

编译成功后,如何发布

< buildpublisher >
     
< sourceDir > C:\myprojects\project1 </ sourceDir >
     
< publishDir > \\myfileserver\project1 </ publishDir >
     
< useLabelSubDirectory > false </ useLabelSubDirectory >
</ buildpublisher >
sourceDir:源文件地址
publishDir:要发布到的地址
<useLabelSubDirectory>:是否每一个版本根据label标签创建一个字目录里并把发布内容放进去
2.MsBuild Task
< msbuild >   
         <
executable > C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe </ executable >
      < workingDirectory > C:\dev\ccnet </ workingDirectory >
      
< projectFile > CCNet.sln </ projectFile >
      
< buildArgs > /noconsolelogger /p:Configuration=Debug /v:diag </ buildArgs >
      
< targets > Build;Test </ targets >
      
< timeout > 15 </ timeout >
      
< logger > C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll </ logger >
</ msbuild >
这个不用解释了,但是ThoughtWorks.CruiseControl.MsBuild.dll是个单独组件,前面我提过
3.NUnit Task
编译后运行测试
< tasks >
        
< nunit > < path > D:\dev\ccnet\ccnet\tools\nunit\nunit-console.exe </ path >
            
< assemblies >
                    <
assembly > D:\dev\Refactoring\bin\Debug\Refactoring.exe </ assembly >
                 < assembly > D:\dev\Refactoring\bin\Debug\Refactoring.Core.dll </ assembly >
            
</ assemblies >
        
</ nunit >
</ tasks >
 
4. Executable Task
执行一个程序
示例1:<exec executable="c:\projects\myproject\build.bat"/>
示例2:
< exec >
    
< executable > make </ executable >
      
< baseDirectory > D:\dev\MyProject </ baseDirectory >
    
< buildArgs > all </ buildArgs >
    
< buildTimeoutSeconds > 10 </ buildTimeoutSeconds >
</ exec >
 

你可以在这里加载任何你需要执行的程序,比如Fxcop等

5. Email Publisher

邮件通知编译报告


< email  from ="buildmaster@mycompany.com"  mailhost ="smtp.mycompany.com"  
          mailhostUsername
="smtpuser"  mailhostPassword ="smtppassword"  includeDetails ="TRUE" >
    
< users >
        
< user  name ="BuildGuru"  group ="buildmaster"  address ="buildguru@mycompany.com" />
        
< user  name ="JoeDeveloper"  group ="developers"  address ="joedeveloper@thoughtworks.com" />
    
</ users >
    
< groups >
        
< group  name ="developers"  notification ="change" />
        
< group  name ="buildmaster"  notification ="always" />
    
</ groups >
</ email >
notification:
  • always" - 只要编译发生
  • "change" - 编译的状态改变,成功到失败,或者失败到成功
  • "failed" - 编译失败
  • "success" -编译成功
  • 本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2008/04/24/1169638.html如需转载请自行联系原作者

  • 王德水
  • 相关文章
    |
    3月前
    |
    Linux C++ Windows
    【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
    【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
    【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
    |
    15天前
    |
    安全 算法 编译器
    .NET 9 AOT的突破 - 支持老旧Win7与XP环境
    【10月更文挑战第30天】在.NET 9 中,AOT(Ahead-of-Time)编译技术在支持老旧的 Windows 7 和 XP 系统方面取得了显著进展。主要突破包括:性能提升(启动速度加快、执行效率提高)、部署优化(无需安装.NET 运行时、减小应用程序体积)、兼容性保障(编译策略优化、依赖项管理改进)以及安全性增强(代码保护机制)。这些改进使得应用程序在老旧系统上运行更加流畅、高效和安全。
    |
    15天前
    |
    XML 安全 API
    .NET 9 AOT的突破 - 支持老旧Win7与XP环境
    .NET 9开始,AOT支持Win7和XP,不仅仅只支持SP1版本
    .NET 9 AOT的突破 - 支持老旧Win7与XP环境
    |
    1月前
    |
    开发框架 .NET API
    Windows Forms应用程序中集成一个ASP.NET API服务
    Windows Forms应用程序中集成一个ASP.NET API服务
    85 9
    |
    16天前
    .NET 4.0下实现.NET4.5的Task类相似功能组件
    【10月更文挑战第29天】在.NET 4.0 环境下,可以使用 `BackgroundWorker` 类来实现类似于 .NET 4.5 中 `Task` 类的功能。`BackgroundWorker` 允许在后台执行耗时操作,同时不会阻塞用户界面线程,并支持进度报告和取消操作。尽管它有一些局限性,如复杂的事件处理模型和不灵活的任务管理方式,但在某些情况下仍能有效替代 `Task` 类。
    |
    3月前
    |
    jenkins 测试技术 持续交付
    解锁.NET项目高效秘籍:从理论迷雾到实践巅峰,持续集成与自动化测试如何悄然改变游戏规则?
    【8月更文挑战第28天】在软件开发领域,持续集成(CI)与自动化测试已成为提升效率和质量的关键工具。尤其在.NET项目中,二者的结合能显著提高开发速度并保证软件稳定性。本文将从理论到实践,详细介绍CI与自动化测试的重要性,并以ASP.NET Core Web API项目为例,演示如何使用Jenkins和NUnit实现自动化构建与测试。每次代码提交后,Jenkins自动触发构建流程,通过编译和运行NUnit测试确保代码质量。这种方式不仅节省了时间,还能快速发现并解决问题,推动.NET项目开发迈向更高水平。
    48 8
    |
    2月前
    |
    存储 开发框架 前端开发
    ASP.NET MVC 迅速集成 SignalR
    ASP.NET MVC 迅速集成 SignalR
    54 0
    |
    3月前
    |
    Java Spring UED
    Spring框架的异常处理秘籍:打造不败之身的应用!
    【8月更文挑战第31天】在软件开发中,异常处理对应用的稳定性和健壮性至关重要。Spring框架提供了一套完善的异常处理机制,包括使用`@ExceptionHandler`注解和配置`@ControllerAdvice`。本文将详细介绍这两种方式,并通过示例代码展示其具体应用。`@ExceptionHandler`可用于控制器类中的方法,处理特定异常;而`@ControllerAdvice`则允许定义全局异常处理器,捕获多个控制器中的异常。
    48 0
    |
    4月前
    |
    监控 druid Java
    spring boot 集成配置阿里 Druid监控配置
    spring boot 集成配置阿里 Druid监控配置
    283 6
    |
    4月前
    |
    Java 关系型数据库 MySQL
    如何实现Springboot+camunda+mysql的集成
    【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
    346 4
    下一篇
    无影云桌面