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

编译成功后,如何发布

.NET环境下每日集成(7):CruiseControl.Net Task Blocks<buildpublisher>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks     
<sourceDir>C:\myprojects\project1</sourceDir>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks     
<publishDir>\\myfileserver\project1</publishDir>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks     
<useLabelSubDirectory>false</useLabelSubDirectory>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
</buildpublisher>
sourceDir:源文件地址
publishDir:要发布到的地址
<useLabelSubDirectory>:是否每一个版本根据label标签创建一个字目录里并把发布内容放进去
2.MsBuild Task
.NET环境下每日集成(7):CruiseControl.Net Task Blocks<msbuild> 
         <
executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe</executable>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
      <workingDirectory>C:\dev\ccnet</workingDirectory>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks     
<projectFile>CCNet.sln</projectFile>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks     
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks     
<targets>Build;Test</targets>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks     
<timeout>15</timeout>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks     
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
</msbuild>
这个不用解释了,但是ThoughtWorks.CruiseControl.MsBuild.dll是个单独组件,前面我提过
3.NUnit Task
编译后运行测试
.NET环境下每日集成(7):CruiseControl.Net Task Blocks<tasks>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks        
<nunit><path>D:\dev\ccnet\ccnet\tools\nunit\nunit-console.exe</path>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks            
<assemblies>
                    <
assembly>D:\dev\Refactoring\bin\Debug\Refactoring.exe</assembly>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
                 <assembly>D:\dev\Refactoring\bin\Debug\Refactoring.Core.dll</assembly>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks            
</assemblies>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks        
</nunit>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
</tasks>

4. Executable Task
执行一个程序
示例1:<exec executable="c:\projects\myproject\build.bat"/>
示例2:
.NET环境下每日集成(7):CruiseControl.Net Task Blocks<exec>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks    
<executable>make</executable>
     
<baseDirectory>D:\dev\MyProject</baseDirectory>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks    
<buildArgs>all</buildArgs>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks    
<buildTimeoutSeconds>10</buildTimeoutSeconds>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
</exec>

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

5. Email Publisher

邮件通知编译报告


.NET环境下每日集成(7):CruiseControl.Net Task Blocks<email from="buildmaster@mycompany.com" mailhost="smtp.mycompany.com" .NET环境下每日集成(7):CruiseControl.Net Task Blocks
.NET环境下每日集成(7):CruiseControl.Net Task Blocks          mailhostUsername
="smtpuser" mailhostPassword="smtppassword" includeDetails="TRUE">
.NET环境下每日集成(7):CruiseControl.Net Task Blocks    
<users>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks        
<user name="BuildGuru" group="buildmaster" address="buildguru@mycompany.com"/>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks        
<user name="JoeDeveloper" group="developers" address="joedeveloper@thoughtworks.com"/>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks    
</users>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks    
<groups>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks        
<group name="developers" notification="change"/>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks        
<group name="buildmaster" notification="always"/>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks    
</groups>
.NET环境下每日集成(7):CruiseControl.Net Task Blocks
</email>
notification:
  • always" - 只要编译发生
  • "change" - 编译的状态改变,成功到失败,或者失败到成功
  • "failed" - 编译失败
  • "success" -编译成功
  • 相关文章:

    • 2021-05-26
    • 2021-12-17
    • 2021-09-26
    • 2021-12-04
    猜你喜欢
    • 2021-09-13
    • 2021-09-05
    • 2021-09-20
    • 2021-11-12
    • 2021-09-29
    • 2021-06-28
    相关资源
    相似解决方案