如何配置cc.net间隔检查以忽略对svn子文件夹的更改?

时间:2009-11-09 14:03:28

标签: svn cruisecontrol.net

我们使用cc.net在SVN repo上进行连续构建设置。主干有一个名为“Bin”的子文件夹。在成功构建之后,我们将所有DLL复制到bin文件夹中并将其签入。这会导致无限的构建周期,因为bin文件夹更改构成了更改,这会触发间隔触发器来调试另一个构建。

cc.net方面是否有任何设置我们可以设置告诉cc.net忽略对bin文件夹的更改?

TIA 公羊

2 个答案:

答案 0 :(得分:3)

根据对相关问题的回答计算出这一个。

您需要在ccnet.config文件中使用“已过滤”的sourcecontrol节点。这是一个例子。请注意使用exclusionFilters节点排除对文件夹中文件的更改

<sourcecontrol type="filtered">
    <sourceControlProvider type="svn" autoGetSource="true">
        <trunkUrl>https://servername/ProjectName/trunk</trunkUrl>
        <workingDirectory>C:\ProjectName\Source</workingDirectory>
        <executable>C:\Program Files\svn\svn.exe</executable>
        <username>uname</username>
        <password>pwd</password>
        <timeout units="minutes">300</timeout>
    </sourceControlProvider>
    <exclusionFilters>
        <pathFilter>
            <pattern>/trunk/bin/*.*</pattern>
        </pathFilter>
    </exclusionFilters>
</sourcecontrol>

HTH

答案 1 :(得分:0)

我从未使用过cruisecontrol.net但是在巡航控制中我们使用“modifyset”任务来指定其变更应该由持续集成构建进行轮询的文件夹。我不知道cc.net中是否有相同的内容。

但是如果你真的需要将DLLS检入源代码控制,你可以考虑将二进制文件分别保存在不同的分支中(如果你能负担得起的话,甚至是一个单独的“包”存储库)。然后,可以将构建项目配置为每个分支使用单独的工作空间。例如,配置为从TRUNK更改中获取更改的CI项目将完全忽略对其他分支所做的更改。这将避免由DLL分支中的更改触发构建。