13

私は最近 buildbot を調べていますが、適切なドキュメントとサンプル構成が不足しているため、buildbot が一般的にどのように使用されているかを理解するのが難しくなっています。

buildbot のマニュアルによると、各 buildmaster は 1 つのコード ベースを担当します。つまり、たとえば 10 個のプロジェクトで buildbot を使用したい企業は、10 個の異なる buildbot インストール セット (マスター/スレーブ構成、ポートを開く、出力付きの Web サイトなど) を維持する必要があります。これは本当に物事が行われる方法ですか?保守と監視が容易なマッシュアップを作成するオプションがありませんか?

ありがとう!

4

2 に答える 2

4

私の職場では、Buildbot を使用して、Python の複数のアーキテクチャとバージョンで単一のプログラムをテストしています。1 つのビルド マスターを使用して、約 16 のスレーブを監視します。スレーブの各セットは異なるレポから取得し、Python 2.X に対してテストします。

私の経験からすると、1 つのビルド マスターを構成してプロジェクトのマッシュアップを実行するのは簡単です。ウォーターフォール ページ (ビルド スレーブが結果をレポートする場所) は数個以上のスレーブで非常に混雑する可能性があるため、これは良い考えではないかもしれません。長いウォーターフォール ページを快適にスクロールできる場合は、これは問題になりません。

編集:

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 はビルダーごとにディレクトリを作成し、そのディレクトリですべてのステップを実行します。

于 2009-08-02T20:45:09.570 に答える
3

参考までに、BuildBot 0.8.x は 1 つのマスターで複数のリポジトリをサポートしているため、少し単純化されています。

于 2010-10-28T19:53:12.257 に答える