2009-08-02 11 views
12

最近、buildbotを探してきました。良い文書やサンプル構成がないと、buildbotの一般的な使い方が分かりません。会社でbuildbotをスケールする方法

buildbotのマニュアルによると、各ビルドマスターは1つのコードベースを担当します。つまり、10のプロジェクトでbuildbotを使用したい企業は、10種類のビルドボットインストール(マスタースレーブ設定、オープンポート、出力などのWebサイト)を維持する必要があります。これは本当に物事が行われる方法ですか?メンテナンスと監視が容易なマッシュアップを作成するオプションがありませんか?

ありがとうございます!

+1

FWIWでは、現在、Mozillaプロジェクトが主催するbuildbotのスケーリングを改善する作業が進行中です。 (誰が非常に大きなbuildmasterを実行しているか)。詳細については、buildbotメールリストを参照してください。 – Macke

答えて

4

私の仕事場では、Buildbotを使用して、Pythonのいくつかのアーキテクチャとバージョンで単一のプログラムをテストしています。私は1人のビルドマスターを使って、約16人の奴隷を監督します。スレーブの各セットは、異なるリポジトリから引き出され、Python 2.Xに対してテストされます。

私の経験から、プロジェクトのマッシュアップを実行するには、単一のビルドマスターを設定するのは簡単でしょう。これはよい考えではないかもしれません。なぜなら、滝のページ(ビルドの奴隷が結果を報告する)が、数人の奴隷以上で非常に混雑する可能性があるからです。あなたが長い滝のページをスクロールするのが快適なら、これは問題ではありません。

EDIT:

updateコマンドMASTER.CFG中:

test_python26_linux.addStep(ShellCommand, name = "update pygr", 
    command = ["/u/opierce/PygrBuildBot/update.sh","000-buildbot","ctb"], workdir=".") 

000-BuildbotのとCTBが情報を取得するためにから引くためにどの枝やレポを指定するための追加のパラメータです。スクリプトupdate.shは無関係のgitの問題を避けるために書いたものです。異なるプロジェクトを実行する場合は、次のような記述が可能です。

builder1.addStep(ShellCommand, name = "update project 1", 
    command = ["git","pull","git://github.com/your_id/project1.git"], workdir=".") 

(the rest of builder1 steps) 

builder2.addStep(ShellCommand, name = "update project 2", 
    command = ["git","pull","git://github.com/your_id/project2.git"], workdir=".") 

(the rest of builder2 steps) 

2つのプロジェクトは関連する必要はありません。 Buildbotは各Builder用のディレクトリーを作成し、そのディレクトリー内のすべてのステップを実行します。

+0

マスター構成は、一連のターミナルコマンドを実行するようにスレーブに指示します。別のバージョンまたは異なるプロジェクトを実行するには、別のリポジトリから取得するように指示します。各スレーブのコマンドを個別化できるので、各スレーブに異なるバージョン/プロジェクト/を実行させることができます。 –

+0

いいえ、それは私が言っていることの反対です。リポジトリから引き出し、リアルタイムビルドを実行することは、継続的な統合の背景にあるアイデアです。バージョン管理のためにgitを使用します。 –

+0

私はついにこのことを理解しました。これは実際には良い考えです。私たちはカテゴリを使用することに決めました。これで、これらのカテゴリに従って滝のビューを分割できるようになり、それぞれの開発者は関心のあるプロジェクトだけを見ています。 – abyx

3

FYI、BuildBot 0.8.xは、1つのマスター上にいくつかのリポジトリをサポートしているため、少し単純化されています。

+1

[関連する質問]で例を見ることができます(http://stackoverflow.com/questions/2795386/support-for-複数リポジトリを使用したビルドボット/ 7148534#7148534) – hithwen

関連する問題