在文件夹中更改文件时,GIT源控件会触发

时间:2013-04-11 06:35:16

标签: triggers cruisecontrol.net

我安装了CCNET以从GIT服务器进行自动布线。 我这里有个大问题: 我的Git服务器回购结构:

   Repo.git
      ---  Module 1(Folder 1)
      ---  Module 2(Folder 2)
      ---  Module 3(Folder 3)
      ---  Module 4(Folder 4)
      ---  Module 5(Folder 5)
      ---  Module 6(Folder 6)

ccnet make触发器遵循订单Mod1 - > Mod2 - > Mod3 - > Mod4 - > Mod5 - > Mod6

但是当CCNET在任何地方触发更改时(可能在文件夹5(模块5)中进行更改),它仍按上述顺序进行构建。 我不想这样做,这需要很多时间。 我只是想构建哪个模块已被更改。 有人请帮助我让ccnet这样做。 谢谢你的阅读。

2 个答案:

答案 0 :(得分:1)

在Git中,如果你有几个总是独立检出的目录,那么这些实际上是两个不同的项目,应该存在于两个不同的存储库中。您可以稍后使用Git Submodules

将它们合并在一起

您可以使用Modification Writer Task的替代方法。此任务写入XML文件,可以从构建脚本或批处理文件中进行评估。基于此,您可以进行构建。

答案 1 :(得分:0)

来自@ domu904的答案是正确的。

但如果您不想更改项目结构,可以尝试使用Filtered Source Control

使用Filtered Source Control,您可以为CCNet指定包含和排除过滤规则以检测修改。

因此,您只需在模块ccnet项目中包含特定的git模块文件夹。

要触发dependend模块ccnet项目,请使用Project Trigger