0

GITサーバーから自動ビルドするためにCCNETをインストールしました。私はここで大きな問題を抱えています:私の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 をこのようにするのを手伝ってください。読んでいただきありがとうございます。

4

2 に答える 2

1

Git では、常に個別にチェックアウトされる複数のディレクトリがある場合、これらは実際には 2 つの異なるプロジェクトであり、2 つの異なるリポジトリに存在する必要があります。Git サブモジュールを使用して、後でそれらをマージして戻すことができます

Modification Writer Taskを使用できる代替アプローチ。このタスクは、ビルド スクリプトまたはバッチ ファイルから評価できる XML ファイルに書き込みます。これに基づいて、ビルドを実行できます。

于 2013-04-11T22:17:24.363 に答える
0

@ domu904 からの回答は正しいです。

ただし、プロジェクト構造を変更したくない場合は、Filtered Source Controlを使用してみてください。

Filtered Source Control を使用すると、CCNet が変更を検出するための包含および除外フィルター ルールを指定できます。

したがって、特定の git モジュール フォルダーだけをモジュール ccnet プロジェクトに含めることができます。

依存モジュール ccnet プロジェクトをトリガーするには、Project Triggerを使用します。

于 2013-04-12T09:16:29.547 に答える