在检查源代码管理中的修改之前,我需要在CruiseControl .NET中运行一个任务。我的意思是这个任务应该是CruiseControl总是会做的第一件事。我知道了
cc.config中的<prebuild>
部分,但它是用于在构建解决方案之前运行任务,因此它不是我需要的。
答案 0 :(得分:5)
Prebuild在源控件获取之前触发。它位于源控制块之后但仍然首先触发。这是我一直在使用的一个例子:
<cb:define subversionpath="c:\Program Files\Subversion\bin\svn.exe"
/>
<cb:define name="svn50">
<executable>$(subversionpath)</executable>
<workingDirectory>D:\Projects\B50\Source</workingDirectory>
<trunkUrl>svn://machineName/branches/B_50/Source</trunkUrl>
<autoGetSource>true</autoGetSource>
</cb:define>
<project name="StreamlineCheckBuild" queue="B50">
<triggers>
<intervalTrigger seconds="180" />
</triggers>
<sourcecontrol type="svn">
<cb:svn50/>
<deleteObstructions>true</deleteObstructions>
<forceUpdate>true</forceUpdate>
</sourcecontrol>
<prebuild>
<exec>
<executable>$(subversionpath)</executable>
<buildArgs>cleanup</buildArgs>
<baseDirectory>D:\Projects\B50</baseDirectory>
</exec>
</prebuild>
<tasks>
...
</tasks>
</cruisecontrol>
答案 1 :(得分:2)
使用批处理文件作为版本控制实用程序的代理,例如。 svn.bat:
echo do stuff
"c:\program files\Subversion\svn.exe" %*
使用executable atrribute指向bach文件。