変更がコミットされるとリポジトリがビルドをトリガーする

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

robotsnoindex
robotsnoindex
robotsnoindex
robotsnoindex

Error rendering macro 'viewport-redirect'

"redirectToPage" が null であるため、"com.atlassian.confluence.pages.AbstractPage.getSpaceKey()" を呼び出すことができない

 

ソース リポジトリを使用して計画のビルドをトリガーすることは、Bamboo でビルドをトリガーする方法の 1 つです。

 

"変更がコミットされるとリポジトリがビルドをトリガーする" という設定は、Bamboo サーバーの負荷を最小限に抑えるという利点があります。ただし、ソース リポジトリが Bamboo サーバーにイベントを発生させるように設定されている必要があります (設定した計画は "リッスン" します)。

 

変更がコミットされるとリポジトリがビルドをトリガーするように設定するには、次の 2 つの変更が必要です。

 

全体のプロセスは、リポジトリにコミットすると、コミット後のメッセージが Bamboo に送信されるというものです。Bamboo は、リポジトリに未ビルドの変更がないかチェックすることで応答します。変更が見つかると、Bamboo はビルドをトリガーします。

1. ソース リポジトリを設定する

コミット後のイベント メッセージを Bamboo に送信するようにソース コード管理システムのリポジトリを設定します。送信されるメッセージで、このリポジトリを使用する計画の構築を開始するよう Bamboo に伝えます。

Bitbucket の場合は、ここをクリックして展開...

Bitbucket のリポジトリに Bamboo フックを追加します。ローカル リポジトリでこれ以上のアクションは必要ありません。新しいコミットが Bitbucket にプッシュされるたびに、設定に基づいてビルドがトリガーされます。 

Stash の場合は、ここをクリックして展開...

 リンクされた Stash リポジトリを使用する計画を Stash 3.1 以降を使用して作成する場合、Bamboo は初期設定で "変更がコミットされると Stash リポジトリがビルドをトリガーする" トリガー オプションを使用します。

Git の場合は、ここをクリックして展開...

 Git リポジトリの .git/hooks/post-receive トリガー ファイルを次のように編集します。

/pathto/postCommitBuildTrigger.sh http://bambooserver JIRA-MAIN JIRA-BRANCH

Git の場合、SVN postCommitBuildTrigger.sh スクリプトを使用します。スクリプトの詳細は下記をご覧ください。

Mercurial の場合は、ここをクリックして展開...

 Hg リポジトリの .hg/hgrc 設定ファイルを次のように編集します。

[hooks]
changegroup.update = /pathto/postCommitBuildTrigger.sh http://bambooserver JIRA-MAIN JIRA-BRANCH
スクリプトの詳細は下記をご覧ください。
Subversion の場合は、ここをクリックして展開...

リモート SVN サーバーを使用している場合は、「atlassian-bamboo/repositoryScripts/svn-triggers/postCommitBuildTrigger.sh」ファイルを SVN リポジトリの「.../hook/post-commit」フォルダーにコピーします。post-commit トリガー ファイルから「postCommitBuildTrigger.sh」ファイルにアクセスできるようにするためです。

Subversion リポジトリの hooks/post-commit トリガー ファイルを次のように編集します。

/pathto/postCommitBuildTrigger.sh http://bambooserver JIRA-MAIN JIRA-BRANCH

スクリプトの詳細は下記をご覧ください。Subversion のソース コード管理トリガーを設定する」をご参照ください。

Perforce の場合は、ここをクリックして展開...

 スクリプトを変更コミットのトリガーとして追加します。

triggerName change-commit //myDepot/... "/usr/local/bin/postCommitBuildTrigger.sh http://bambooServer/ MYPLAN-DEFAULT"
スクリプトの詳細は下記をご覧ください。
CVS の場合は、ここをクリックして展開...

 CVSROOT モジュール内の 2 つのファイル (commitinfologinfo) を編集します。

  • commitinfo の場合、次のような行を追加します。

    ^jira(/|$)  /pathto/preCommit.sh

    ここで、「jira」は自分のモジュールです。

  • loginfo の場合、次のような行を追加します。 

    ^jira(/|$) /pathto/postCommitBuildTrigger.sh %{} http://bambooserver JIRA-MAIN JIRA-BRANCH

    ここで、JIRA-MAIN と JIRA-BRANCH はトリガーする Bamboo 計画、JIRA はプロジェクト キー、BRANCH または MAIN は計画キーです。

スクリプトの詳細は下記をご覧ください。Subversion のソース コード管理トリガーを設定する」をご参照ください。

 

  • このリンクを使用してスクリプトをダウンロードできます。Git にも同じ SVN スクリプトを使用します。スクリプトをリポジトリにコピーします。

  • リポジトリが実行されているオペレーティング システムによっては、スクリプトの編集が必要になることがあります。スクリプトは、「wget」が「/usr/bin/」にあると仮定します。これが自分のリポジトリに当てはまらない場合 (たとえば Solaris 10 では /usr/sfw/bin/ にある)、スクリプトを編集して、「/usr/bin/」を適切な場所に変更します。
  • Bamboo を実行しているユーザーが、スクリプトを実行する適切なファイル権限を持っていることを確認します。つまり、スクリプトは非 root ユーザーでも実行可能でなければなりません。

2. コミット後のメッセージに応答するように Bamboo を設定する

始める前に

  • リポジトリの更新がないときにビルドをトリガーする — ローカル作業コピーとリポジトリ コピーのリビジョン番号が同じ場合、Bamboo はビルド トリガーを無視します。ビルド トリガーをテストするときは、ローカル作業コピーが最新バージョンでないことをご確認ください。最新バージョンになっていると、Bamboo はそれ以上のアクションを実行しません。 
  • Bitbucket の Bamboo post-push フックを使用している場合、ビルドをトリガーする認証に使用しているユーザーが、トリガーしようとしている計画の「ビルド」権限を持っていることをご確認ください。 

コードのチェック インでビルドをトリガーするように Bamboo を設定する方法は次のとおりです。

  1. ダッシュボードをクリックし、すべてのプラン タブをクリックします。
  2. リスト内で計画を見つけ、編集アイコンをクリックして、計画の設定ページを表示します。
  3. [トリガー] タブをクリックしてから、既存のトリガーまたは [トリガーを追加] をクリックします。
  4. オプションで、トリガーの説明を入力します。
  5. [トリガーのタイプ] > [Repository triggers the build when changes are committed (変更がコミットされるとリポジトリがビルドをトリガー)] を選択します。
  6. Bamboo は、[ソース リポジトリ] タブで以前に設定したとおり、計画に利用可能なリポジトリを表示します。このトリガーが適用されるリポジトリを選択します。
  7. リポジトリのプライマリ IP アドレス以外からのコミット後メッセージに対して Bamboo をトリガーさせる場合のみ、[Trigger IP Addresses (トリガー IP アドレス)] に IP アドレスを入力します。

    Mercurial または Git リポジトリを使用する場合は、[Trigger IP Addresses (トリガー IP アドレス)] にリポジトリ ホストの IP アドレスを入力する必要がありますBitbucket の場合、現在のアウトバウンド IP アドレスを [Access Bitbucket from Behind a Firewall (ファイアウォール内から Bitbucket にアクセス)] で確認できます。

  8. [Save Trigger (トリガーを保存)] をクリックします。

スクリーンショット: ビルド戦略 — 変更がコミットされるとリポジトリがビルドをトリガーする


最終更新日: 2021 年 2 月 12 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.