【发布时间】:2009-07-30 15:10:59
【问题描述】:
我已经建立了一些相当大的 C++ 项目来使用 MSBuild 在 CruiseControl.NET 中进行集成构建。
现在我想安排每晚一次对工作目录进行一次完整的清理。我如何使用 CC.NET 做到这一点?
【问题讨论】:
标签: msbuild build-automation cruisecontrol.net
我已经建立了一些相当大的 C++ 项目来使用 MSBuild 在 CruiseControl.NET 中进行集成构建。
现在我想安排每晚一次对工作目录进行一次完整的清理。我如何使用 CC.NET 做到这一点?
【问题讨论】:
标签: msbuild build-automation cruisecontrol.net
您可以创建一个在指定时间清理您的工作目录的项目。
<project name="CleanWorkingDir">
<triggers>
<scheduleTrigger time="23:30" buildCondition="ForceBuild" name="Scheduled"/>
</triggers>
<tasks>
<exec executable="c:\projects\myproject\build.bat"/>
</tasks>
</project>
【讨论】:
使用源代码控制块上的干净副本,一切都已为您完成。您所要做的就是将其设置为 true。如果您真的只是想要一个项目来清理该目录,那么不要有任何构建任务。然而,作为一个好的发布工程,你真的应该在你所有的个人构建中使用 cleancopy。否则,您无法确定构建是否可以在绝对干净的机器上运行。
【讨论】:
我们创建了一个脚本,用于删除源目录中的所有内容并将其放在预构建步骤中:
<prebuild>
<exec>
<executable>Clean_Source.bat</executable>
<baseDirectory>SourceDir</baseDirectory>
</exec>
</prebuild>
【讨论】: