2

複数の git リポジトリがあり、それらの間にいくつかの相互依存関係があります。完全なシステム ビルドを行うときは、それらすべてをチェックアウトする必要があります。
buildbot を使用すると、mode='clobber'パラメーターを Git ソース クラス コンストラクターに使用できますが、これにより、毎回すべてのリポジトリがチェックアウトされます。

factory.addStep(Git(repourl='ssh://build@build/repo1', mode='clobber', workdir='build/repo1'))
factory.addStep(Git(repourl='ssh://build@build/repo2', mode='clobber', workdir='build/repo2'))
factory.addStep(Git(repourl='ssh://build@build/repo3', mode='clobber', workdir='build/repo3'))

を使用したいmode='copy'のですが、そうすると、3 つのリポジトリすべてのソースが同じ場所にチェックアウトされます。.../source/それよりも.../source/repo1 .../source/repo2 .../source/repo3

各リポジトリのクリーン コピーを個別に保持するように buildbot に指示する方法はありますか?

前もって感謝します!

4

2 に答える 2

1

source/buildbot によってチェックインされる親リポジトリの使用を検討する必要があります。
親リポジトリが他のすべてのリポジトリをサブモジュールとして参照することを除いて。
また、サブモジュールが親リポジトリ内でチェックアウトされると、それは独自の (repo1、repo2、...) ディレクトリでチェックアウトされます。

サブモジュールを考慮に入れるには、 buildbot の Git パラメーターを調整するだけです。

submodules

(オプション): Git リポジトリの初期化/更新時に、buildbot が git サブモジュールを考慮するかどうかを決定します。
デフォルト: 偽。

于 2012-02-29T08:18:29.483 に答える
1

buildbot 0.8.5 以降では、マスター側の新しいソース ステップ ( のbuildbot.steps.source.git.Git代わりに にあるbuilbot.steps.source.Git) を使用Git(..., mode='full', ...)してから、チェックアウト プラス を実行できgit clean -xfdます。

また、ビルドボット 0.8.7 がリリースされたときに含まれる、複数のソースのコードの使用を適切にサポートするための作業が進行中です。

于 2012-03-31T05:12:46.753 に答える