Cloud Build を使用してビルドを自動化する
このページでは、Cloud Build を使用してビルドを自動化する方法について説明します。
Cloud Build は、ビルドトリガーを使用して CI / CD の自動化を有効にします。新しい commit がリポジトリに push されたときや、pull リクエストが開始されたときなどでの受信イベントをリッスンし、新しいイベントが生じたときにビルドを自動的に呼び出すようにトリガーを構成できます。
トリガーを作成し、GitHub リポジトリに変更を push するたびにビルドを呼び出すようにトリガーを構成します。
このタスクを Cloud Shell エディタで直接行う際のガイダンスについては、「ガイドを表示」をクリックしてください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
まだインストールしていない場合は、GitHub でアカウントを作成してください。
GitHub で 2 要素認証を設定している場合は、コマンドラインで GitHub パスワードの代わりに使用する個人用のアクセス トークンを作成します。
サンプル GitHub リポジトリをフォークしてクローンを作成する
ビルドするサンプル ソースコードが必要です。このセクションでは、Go の Hello World のサンプルを含む既存のソース リポジトリのクローンを、独自の GitHub ユーザー アカウントに作成します。まだインストールしていない場合は、GitHub でアカウントを作成してください。
GitHub で 2 要素認証を設定している場合は、コマンドラインで GitHub パスワードの代わりに使用する個人用のアクセス トークンを作成します。
cloud-build-samples
リポジトリを自分の GitHub アカウントにフォークします。Cloud Build の cloud-build-samples リポジトリに移動します。
ページの右上にあるフォーク アイコンをクリックします。
リポジトリのフォーク先の GitHub ユーザー アカウントをクリックします。
フォークされた
cloud-build-samples
リポジトリのバージョンのページに自動的にリダイレクトされます。
ローカル環境でターミナルを開きます。
次のコマンドを実行して、フォークされたリポジトリのクローンを作成します。ここで、GITHUB_USERNAME は、GitHub アカウントのユーザー名です。
git clone https://github.com/GITHUB_USERNAME/cloud-build-samples.git
Cloud Build を自分のリポジトリに接続する
トリガーを使用して GitHub でソースコードをビルドするには、まず Cloud Build を GitHub リポジトリに接続する必要があります。このセクションでは、cloud-build-samples
リポジトリを Cloud Build に接続します。Google Cloud コンソールのナビゲーション メニューで、[Cloud Build] > [トリガー] をクリックします。
プロジェクトを選択し、[開く] をクリックします。
[
リポジトリを接続 ] をクリックします。[ソースを選択] で、[
GitHub(Cloud Build GitHub アプリ) ] を選択します。[
続行 ] をクリックします。GitHub アカウントを認証します。
[リポジトリを選択] セクションで、[
GitHub アカウント ] のユーザー名を選択します。自分のユーザー名がリストに表示されていない場合は、次のようにします。[GitHub アカウント] リストで、[+ 追加] をクリックします。
Cloud Build GitHub アプリをインストールするためのポップアップが表示されます。
自分の GitHub ユーザー名をクリックします。
[Only certain repositories] をクリックして、特定のリポジトリに Cloud Build GitHub アプリをインストールします。
プルダウン メニューで、[GITHUB_USERNAME/cloud-build-samples] を選択します。ここで、GITHUB_USERNAME は GitHub アカウントのユーザー名です。
[インストール] をクリックします。
続行する前に、GitHub アカウントに関連付けられているパスワードの入力を求められることがあります。
Cloud Build GitHub アプリをインストールした後、[GitHub アカウント] フィールドのプルダウン メニューに自分のユーザー名が表示されます。ユーザー名を選択します。
[
リポジトリ ] で、リポジトリとして [GITHUB_USERNAME/cloud-build-samples] を選択します。チェックマークをクリックして、トリガー接続の利用規約に同意します。
[
接続 ] をクリックします。[
完了 ] をクリックします。
トリガーを作成する
Google Cloud Console で [トリガー] ページを開きます。
ページの上部にあるプロジェクト セレクタのプルダウン メニューからプロジェクトを選択します。
[開く] をクリックします。
[トリガー] ページで、[
トリガーを作成 ] をクリックします。[トリガーの作成] ページで、次の設定を入力します。
名前: トリガーの名前として「
hello-world-trigger
」と入力します。イベント: トリガーを呼び出すリポジトリ イベントとして [
ブランチに push する ] を選択します。ソース : ソースとしてcloud-build-samples
リポジトリを選択します。このリポジトリにはソースコードとビルド構成ファイルが含まれています。ビルド構成: ビルド構成ファイルとして [
Cloud Build 構成ファイル ] を選択します。Cloud Build 構成ファイルの場所 : Cloud Build 構成ファイルへのパスとしてquickstart-automate/cloudbuild.yaml
を指定します。
[
作成 ] をクリックして、ビルドトリガーを保存します。
変更を commit する
このセクションでは、独自の GitHub アカウントにクローン作成した cloud-build-samples
リポジトリに変更を commit します。
ターミナルで
quickstart-automate
ディレクトリに移動します。cd cloud-build-samples/quickstart-automate
main.go
ファイルを開き、「Hello, world!」を含む行を「Hello, universe!」に更新します。package main import ( "fmt" ) func main() { fmt.Println("Hello, universe!") }
Cloud Build で使用されるビルド構成ファイルである
を確認します。トリガーによってビルドを呼び出すと、このファイルのビルドステップは、Docker Hub のcloudbuild.yaml
golang
イメージを使用してmain.go
のビルドと実行を行うように Cloud Build に指示します。steps: - name: golang script: go run quickstart-automate/main.go
リポジトリのルート ディレクトリに戻ります。
cd ..
次のコマンドを実行して、変更を GitHub に commit します。
git add quickstart-automate/main.go git commit -m "update text" git push
コードをリポジトリに push するときに、認証情報の入力を求められることがあります。プロンプトが表示されたら、ユーザー名とパスワードまたは認証トークンを入力します。
これで、変更がリポジトリに push されました。push することで、トリガーによって自動ビルドが行われます。
ビルドの詳細を表示
このセクションでは、変更の commit 後に、呼び出されたビルドに関連付けられたビルドの詳細を表示します。Google Cloud コンソールのナビゲーション メニューで、[Cloud Build] > [履歴] をクリックします。
プロジェクトを選択し、[開く] をクリックします。
[ビルド履歴] ページが表示されます。
[
ビルド ] 列で、ビルドの名前をクリックします。[ビルドの詳細] ページで、[
ビルド アーティファクト ] をクリックします。出力は次のようになります。
ビルドログを見るには、
ダウンロード アイコン をクリックし、ダウンロードされたファイルを開きます。
トリガーを使用して Cloud Build のビルドが正常に呼び出され、ビルドの詳細を表示しました。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
Google Cloud Console のナビゲーション メニューで、[Cloud Build] > [トリガー] をクリックします。
プロジェクトを選択し、[開く] をクリックします。
hello-world-trigger
行の右端にある [アクション メニュー ](縦三点リーダー)をクリックします。[削除] を選択します。
これで、クローンされたリポジトリに関連付けられているトリガーが削除されました。
次のステップ
- 基本的なビルド構成ファイルを作成する方法を学習する。
- ビルドトリガーを作成および管理する方法を学習する。