我安装CCNET是为了从GIT服务器上进行自动构建。我这里有一个大问题:我的Git Server Repo结构:
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这样做。感谢你的阅读。
发布于 2013-04-12 06:17:24
在Git中,如果你有几个总是独立签出的目录,那么这实际上是两个不同的项目,应该放在两个不同的存储库中。您可以在以后使用Git Submodules将它们合并在一起
另一种方法是使用Modification Writer Task。此任务写入XML文件,可以从生成脚本或批处理文件计算该文件。在此基础上,您可以进行构建。
发布于 2013-04-12 17:16:30
来自@domu904的答案是正确的。
但是,如果您不想更改项目结构,可以尝试使用Filtered Source Control。
通过过滤源代码控制,您可以为CCNet指定包含和排除过滤器规则,以检测修改。
因此,您可以在模块ccnet项目中只包含特定的git模块文件夹。
要触发依赖模块ccnet项目,请使用Project Trigger。
https://stackoverflow.com/questions/15942163
复制相似问题