我们使用cc.net在SVN repo上进行连续构建设置。主干有一个名为“Bin”的子文件夹。在成功构建之后,我们将所有DLL复制到bin文件夹中并将其签入。这会导致无限的构建周期,因为bin文件夹更改构成了更改,这会触发间隔触发器来调试另一个构建。
cc.net方面是否有任何设置我们可以设置告诉cc.net忽略对bin文件夹的更改?
TIA 公羊
答案 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分支中的更改触发构建。