Cloud Build を使用したビルドの自動化

このトピックでは、Cloud Build と Cloud Source Repositories を使用してビルドを自動化する方法を説明します。

ユーザーが Cloud Source Repositories に格納されているファイルに変更を push するたびに新しいイメージを自動的にビルドするよう Cloud Build を構成できます。自動ビルドを開始するイベントは、ビルドトリガーと呼ばれます。これらのトリガーは、コンテナ イメージを最新の状態に維持するために役立ちます。また、それらを使用して機能ブランチをビルドしてテストすることもできます。

準備

これらの前提条件に加えて、次の情報が役に立つことがあります。

  • ビルドトリガーは、リポジトリのシャロー クローンを使用します。シャロー クローンでは、ビルドをトリガーした単一の commit だけが、ビルドするワークスペースにチェックアウトされます。詳細とさらに多くのリポジトリ履歴を含める方法については、クローンのシャロー解除をご覧ください。

  • GitHub や Bitbucket などの別のホストされた Git プロバイダを使用していて、まだリポジトリを Cloud Source Repositories にミラーリングしていない場合は、操作している Google Cloud Platform プロジェクトの cloudbuilds.builds.create 権限を持っている必要があります。この権限は通常、cloudbuild.builds.editor 役割によって付与されます。

    初めて外部リポジトリでビルドトリガーを設定する場合は、そのリポジトリで承認を設定する必要があります。詳細については、リポジトリをリモートとして追加するをご覧ください。

    外部リポジトリを設定すると、Cloud Source Repositories でリポジトリのミラーが作成されます。

  • Cloud Build の割り当てと制限については、Cloud Build ドキュメントの割り当てと制限をご覧ください。

ビルドトリガーの作成

新しいビルドトリガーを作成するには:

  1. Google Cloud Platform Console で [ビルドトリガー] ページを開きます。

    [ビルドトリガー] ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

  3. [トリガーを作成] をクリックします。

  4. [Cloud Source Repositories のリポジトリ] を選択します。

  5. [続行] をクリックします。

  6. 使用可能なリポジトリのリストから目的のリポジトリを選択して、[続行] をクリックします。

  7. 次のトリガー設定を入力します。

    • トリガーの名前: トリガーの任意の名前。
    • トリガーのタイプ: 特定のブランチに対する commit と同時、または特定のタグを含む commit と同時にビルドを開始するトリガーを設定できます。いずれの場合でも、照合するブランチまたはタグの値に正規表現を指定できます。
    • ビルド構成: トリガーが開始する各ビルドに使用する Dockerfile またはビルド構成ファイル(リモート リポジトリにあります)。

Dockerfile の使用

ビルド構成に Dockerfile を使用するには、Dockerfile ディレクトリを指定し、結果的に生じるイメージの名前を指定する必要があります。

Dockerfile とイメージ名を入力すると、ビルドで実行される docker build コマンドのプレビューと、トリガー構成の概要が表示されます。[トリガーを作成] をクリックしてビルドトリガーを保存します。

ビルド構成ファイルの使用

ビルド構成にビルド構成ファイルを使用するには、ビルド構成ファイルのロケーションを指定する必要があります。

ロケーションを設定すると、トリガーの概要が表示されます。[トリガーを作成] をクリックしてビルドトリガーを保存します。

ビルドトリガーのテスト

ビルドトリガーを手動でテストするには、トリガーリストのトリガーのエントリで [トリガーを実行] をクリックします。

ビルドトリガーのスキップ

ビルドをトリガーせずに、ソースコードを変更したい場合があります。たとえば、ドキュメントや構成ファイルを更新するときにビルドをトリガーしたくない場合があります。

このようなシナリオでは、[skip ci] または [ci skip] を commit メッセージに含めることができ、ビルドはトリガーされません。

次に例を示します。

Author: A User <auser@example.com>
Date:   Tue Apr 3 12:03:35 2018 -0700

    Fixed customer affecting issue. [skip ci]

後でその commit でビルドを実行する場合は、[トリガーを実行] ボタンを使用します。

クローンのシャロー解除

Git リポジトリでソースをビルドするために、Cloud Source Repositories はリポジトリのシャロー クローンを実行します。つまり、ビルドをトリガーした単一の commit だけが、ビルドするワークスペースにチェックアウトされます。Cloud Source Repositories では他のブランチや履歴がチェックアウトされません。これは効率を高めるために行われ、ビルドで単一の commit をビルドするためにリポジトリ全体と履歴がフェッチされるまで待機する必要がありません。

リポジトリの履歴を追加してビルドに含める場合は、ビルド構成ファイルにビルドステップを追加して、クローンの「シャローを解除」できます。次に例を示します。

steps:
- name: gcr.io/cloud-builders/git
  args: ['fetch', '--unshallow']
...

git fetch について詳しくは、git のリファレンスをご覧ください。ビルド構成ファイルの作成方法については、ビルド構成の概要をご覧ください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Source Repositories