【问题标题】:Clean/Full Rebuild of a project every night in CruiseControl.NET每晚在 CruiseControl.NET 中清理/完全重建项目
【发布时间】:2009-07-30 15:10:59
【问题描述】:

我已经建立了一些相当大的 C++ 项目来使用 MSBuild 在 CruiseControl.NET 中进行集成构建。

现在我想安排每晚一次对工作目录进行一次完整的清理。我如何使用 CC.NET 做到这一点?

【问题讨论】:

    标签: msbuild build-automation cruisecontrol.net


    【解决方案1】:

    您可以创建一个在指定时间清理您的工作目录的项目。

    <project name="CleanWorkingDir">
    <triggers>
        <scheduleTrigger time="23:30" buildCondition="ForceBuild" name="Scheduled"/>
    </triggers>
    <tasks>
        <exec executable="c:\projects\myproject\build.bat"/>
    </tasks>
    </project>
    

    【讨论】:

      【解决方案2】:

      使用源代码控制块上的干净副本,一切都已为您完成。您所要做的就是将其设置为 true。如果您真的只是想要一个项目来清理该目录,那么不要有任何构建任务。然而,作为一个好的发布工程,你真的应该在你所有的个人构建中使用 cleancopy。否则,您无法确定构建是否可以在绝对干净的机器上运行。

      【讨论】:

        【解决方案3】:

        我们创建了一个脚本,用于删除源目录中的所有内容并将其放在预构建步骤中:

        <prebuild>
            <exec>
                <executable>Clean_Source.bat</executable>
                <baseDirectory>SourceDir</baseDirectory>
            </exec>
        </prebuild>
        

        【讨论】:

        • 不是每次构建都运行吗?我希望每晚只清理一次,因为完整构建需要 10-12 分钟。
        • 它将运行每个构建。我们有两个构建项目引用相同的构建参数集——增量构建和完整构建。完整构建首先调用此预构建步骤,然后调用常规增量构建。
        猜你喜欢
        • 2011-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-24
        • 1970-01-01
        • 2013-06-23
        • 1970-01-01
        相关资源
        最近更新 更多