我安装了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这样做。 谢谢你的阅读。
答案 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。