私はプロジェクトでbuildbot
を使用しています。変更があるたびに自動的にプロジェクトをビルドして、コンパイルがうまくいくかどうかをテストするスケジューラの設定があります。これは動作し、buildbotはすべてのブランチの変更を検出しますが、スケジューラは変更がどのブランチに関係していても常にmaster
ブランチを作成します。私はそれが変更されている支店を構築したいが、私はその仕事をするのに問題がある。buildbotの任意のブランチのビルドをトリガーする方法
GitPoller:ここではBuildbotの構成の関連する部分がある
c['change_source'].append(GitPoller(
repourl='[email protected]:someproject.git',
branches=True,
pollinterval=60))
スケジューラ:
c['schedulers'].append(AnyBranchScheduler(
name='all',
treeStableTimer=2*60,
builderNames=['builder 1', 'builder 2']))
これは私がコードをチェックアウトするために、いくつかのビルダーで使用するヘルパー関数です。私はほとんど常にパラメータなしでそれを呼び出しています。このパラメータを使用するのはまれなケースですが、上記のスケジューラはそのようなビルダーを実行しません。私は、パラメータを使用しないとき、私はいつもelse
ブロックで実行していることを前提としています
def CheckoutFactory(whichBranch = ''):
factory = BuildFactory()
if whichBranch:
factory.addStep(Git(repourl='[email protected]:someproject.git', branch=whichBranch, mode='full', method='fresh', alwaysUseLatest=True, progress=True))
else:
factory.addStep(Git(repourl='[email protected]:someproject.git', mode='full', method='fresh', alwaysUseLatest=True, progress=True))
return factory
ここで間違っていますか?私は間違ったことをやっていますか?そして、buildbotを変更してブランチ上のビルドを実行させるにはどうしたらいいですか?
構成:
- BuildbotのマスターはXubuntuの
16.04.1
64ビット上で実行されています。 - ビルドボットバージョンは
0.8.12
です。 (reposから) - Gitはバージョン
2.7.4
です。 (reposから)