変更がコミットされるとリポジトリがビルドをトリガーする
ソース リポジトリを使用して計画のビルドをトリガーすることは、Bamboo でビルドをトリガーする方法の 1 つです。
"変更がコミットされるとリポジトリがビルドをトリガーする" という設定は、Bamboo サーバーの負荷を最小限に抑えるという利点があります。ただし、ソース リポジトリが Bamboo サーバーにイベントを発生させるように設定されている必要があります (設定した計画は "リッスン" します)。
変更がコミットされるとリポジトリがビルドをトリガーするように設定するには、次の 2 つの変更が必要です。
全体のプロセスは、リポジトリにコミットすると、コミット後のメッセージが Bamboo に送信されるというものです。Bamboo は、リポジトリに未ビルドの変更がないかチェックすることで応答します。変更が見つかると、Bamboo はビルドをトリガーします。
1. ソース リポジトリを設定する
コミット後のイベント メッセージを Bamboo に送信するようにソース コード管理システムのリポジトリを設定します。送信されるメッセージで、このリポジトリを使用する計画の構築を開始するよう Bamboo に伝えます。
このリンクを使用してスクリプトをダウンロードできます。Git にも同じ SVN スクリプトを使用します。スクリプトをリポジトリにコピーします。
- リポジトリが実行されているオペレーティング システムによっては、スクリプトの編集が必要になることがあります。スクリプトは、「
wget」が「/usr/bin/」にあると仮定します。これが自分のリポジトリに当てはまらない場合 (たとえば Solaris 10 では/usr/sfw/bin/にある)、スクリプトを編集して、「/usr/bin/」を適切な場所に変更します。 - Bamboo を実行しているユーザーが、スクリプトを実行する適切なファイル権限を持っていることを確認します。つまり、スクリプトは非 root ユーザーでも実行可能でなければなりません。
2. コミット後のメッセージに応答するように Bamboo を設定する
始める前に
- リポジトリの更新がないときにビルドをトリガーする — ローカル作業コピーとリポジトリ コピーのリビジョン番号が同じ場合、Bamboo はビルド トリガーを無視します。ビルド トリガーをテストするときは、ローカル作業コピーが最新バージョンでないことをご確認ください。最新バージョンになっていると、Bamboo はそれ以上のアクションを実行しません。
- Bitbucket の Bamboo post-push フックを使用している場合、ビルドをトリガーする認証に使用しているユーザーが、トリガーしようとしている計画の「ビルド」権限を持っていることをご確認ください。
コードのチェック インでビルドをトリガーするように Bamboo を設定する方法は次のとおりです。
- ダッシュボードをクリックし、すべてのプラン タブをクリックします。
- リスト内で計画を見つけ、編集アイコンをクリックして、計画の設定ページを表示します。
- [トリガー] タブをクリックしてから、既存のトリガーまたは [トリガーを追加] をクリックします。
- オプションで、トリガーの説明を入力します。
- [トリガーのタイプ] > [Repository triggers the build when changes are committed (変更がコミットされるとリポジトリがビルドをトリガー)] を選択します。
- Bamboo は、[ソース リポジトリ] タブで以前に設定したとおり、計画に利用可能なリポジトリを表示します。このトリガーが適用されるリポジトリを選択します。
リポジトリのプライマリ IP アドレス以外からのコミット後メッセージに対して Bamboo をトリガーさせる場合のみ、[Trigger IP Addresses (トリガー IP アドレス)] に IP アドレスを入力します。
Mercurial または Git リポジトリを使用する場合は、[Trigger IP Addresses (トリガー IP アドレス)] にリポジトリ ホストの IP アドレスを入力する必要があります。Bitbucket の場合、現在のアウトバウンド IP アドレスを [Access Bitbucket from Behind a Firewall (ファイアウォール内から Bitbucket にアクセス)] で確認できます。
- [Save Trigger (トリガーを保存)] をクリックします。
スクリーンショット: ビルド戦略 — 変更がコミットされるとリポジトリがビルドをトリガーする