2012-02-28 2 views
2

複数のgitリポジトリがあり、それらの間にいくつかの相互依存性があります。私は完全なシステム構築を行うときにそれらのすべてをチェックする必要があります。 Buildbotので
は、私はGitのソースクラスのコンストラクタにmode='clobber'パラメータを使用することができますが、これは、リポジトリのすべてがそれぞれの時間をチェックアウトされます:buildbotで複数のgitリポジトリをチェックアウトするときにコピーモードを使用する方法

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

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

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

ありがとうございます!

+0

サブリポジトリを使用して異なるリポジトリをバンドルすることはできますか? – Rudi

+0

それは私の唯一の選択肢かもしれません...私は官僚的な問題のために、それを避けようとしていました。 – user961826

答えて

1

以上は、あなたが(代わりにbuilbot.steps.source.Gitbuildbot.steps.source.git.Gitに住んでいる)新しいマスタ側のソースの手順を使用することができ、その後Git(..., mode='full', ...)はチェックアウトプラスgit clean -xfdを行います。

また、ビルドボット0.8.7に含まれている複数のソースコードを適切に使用するためのサポートが行われています。

1

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

サブモジュールを考慮に入れて調整する必要があるのはbuildbot Git parametersです。

submodules 

(オプション):初期化時に/ Gitリポジトリを更新し、これはBuildbotのは、Gitのサブモジュールを検討すべきであるか否かを判定する。
デフォルト:False。 Buildbotの0.8.5で

+0

それは私の唯一の選択肢かもしれませんが、追加のパラメータを取るためにbuildbotを変更するのは簡単ではありません... – user961826

関連する問題