0

我安装了 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 trigger 的顺序为 Mod1 -> Mod2 -> Mod3 -> Mod4 -> Mod5 -> Mod6

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

4

2 回答 2

1

In Git, if you have several directories that are always checked out independently, then these are really two different projects and should live in two different repositories. You can merge them back together at a later point using Git Submodules

An alternative approach you can use Modification Writer Task. This tasks writes to an XML file, which can be evaluated from build script or batch file. Based on this you can do your build.

于 2013-04-11T22:17:24.363 回答
0

@domu904 的答案是正确的。

但是如果你不想改变你的项目结构,你可以尝试使用Filtered Source Control

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

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

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

于 2013-04-12T09:16:29.547 回答