Cloud Build を使用して App Engine のデプロイを自動化する
このクイックスタートでは、新しい commit の後に Cloud Source Repositories に保存されたアプリを App Engine に自動的にデプロイする方法を説明します。
始める前に
-
Cloud Source Repositories でコード リポジトリを作成するの手順を完了します。
このクイックスタートを完了すると、App Engine にデプロイ可能なアプリが作成されます。
Enable the App Engine Admin, Cloud Build APIs.
Cloud Build サービス アカウントに App Engine へのアクセス権を付与する
Cloud Build は、サービス アカウントを使用してコードをデプロイします。このアカウントのデフォルトの権限では、App Engine へのデプロイなど、特定の操作が許可されません。
サービス アカウントを有効にして App Engine にデプロイするには、アカウントに追加の Identity and Access Management(IAM)役割を付与します。
Google Cloud Console で、Cloud Build の [設定] ページを開きます。
[サービス アカウント権限] ページが表示されます。
App Engine 管理者役割のステータスを「有効」に設定します。
アプリをデプロイする
ターミナル ウィンドウで、リポジトリを含むディレクトリに移動します。
cd hello-world
サンプルアプリをデプロイします。
gcloud app deploy app.yaml
アプリが実行されていることを確認します。
gcloud app browse
アプリの実行中、「
Hello, World!
」というメッセージがブラウザに表示されます。
cloudbuild.yaml ファイルを作成する
ターミナル ウィンドウで、リポジトリを含むディレクトリに移動します。
cd hello-world
テキスト エディタで
cloudbuild.yaml
という名前のファイルを作成し、次の構成情報を貼り付けます。steps: - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"] timeout: "1600s"
リポジトリに cloudbuild.yaml ファイルを追加する
cloudbuild.yaml
をリポジトリに追加します。git add .
このアクションの履歴を記述したコメントをファイルに追加し、commit します。
git commit -m "Add cloudbuild.yaml file"
git push
コマンドを使用して、ローカル Git リポジトリの内容を Cloud Source Repositories に追加します。git push origin master
ビルドトリガーを作成する
Google Cloud コンソールで Cloud Build の [トリガー] ページを開きます。
Google Cloud プロジェクトが選択されていない場合は、[プロジェクトを選択] をクリックして、Google Cloud プロジェクトの名前をクリックします。
[トリガーを作成] をクリックします。
[トリガーの作成] ページが開きます。
次のオプションを入力します。
- [名前] フィールドに
app-engine-test
と入力します。 - [イベント] で [ブランチに push する] を選択します。
- [ソース] で、[リポジトリ] として
hello-world
を選択し、[ブランチ] として^master$
を選択します。 - [構成] で [Cloud Build 構成ファイル(YAML または JSON)] を選択します。
- [Cloud Build 構成ファイルの場所] フィールドで、
/
の後に「cloudbuild.yaml
」と入力します。
- [名前] フィールドに
[作成] をクリックして、ビルドトリガーを保存します。
アプリに変更を push する
ターミナル ウィンドウで、テキスト エディタを使用して
main.py
ファイルに次のコードを貼り付けます。#!/usr/bin/env python import webapp2 class MainHandler(webapp2.RequestHandler): def get(self): self.response.write('I update automatically!') app = webapp2.WSGIApplication([ ('/', MainHandler) ], debug=True)
ファイルを Git に追加します。
git add .
このアクションの履歴を記述したコメントをファイルに追加し、commit します。
git commit -m "Update app to demonstrate build triggers"
git push
コマンドを使用して、ローカル Git リポジトリの内容を Cloud Source Repositories に追加します。git push origin master
作成中のビルドを表示する
Google Cloud コンソールで Cloud Build の [トリガー] ページを開きます。
Google Cloud プロジェクトが選択されていない場合は、[プロジェクトを選択] をクリックして、Google Cloud プロジェクトの名前をクリックします。
[履歴] をクリックします。
すべてのビルドのリストが開きます。一番上に、変更を Cloud Source Repositories に push した後に開始されたビルドを表す新しいエントリが表示されます。ビルドの準備ができると、ビルドエントリの横に緑色のチェックマークが表示されます。
アプリを再度テストする
ターミナル ウィンドウでアプリを開きます。
gcloud app browse
I update automatically!
というメッセージがブラウザに表示されます。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
ビルドトリガーを削除する
Google Cloud コンソールで Cloud Build の [トリガー] ページを開きます。
Google Cloud プロジェクトが選択されていない場合は、[プロジェクトを選択] をクリックして、Google Cloud プロジェクトの名前をクリックします。
削除するトリガーと同じ行で、[その他] more_vertをクリックし、[削除]をクリックします。
リポジトリを削除する
Google Cloud コンソールで、Cloud Source Repositories の [すべてのリポジトリ] ページを開きます。
削除するリポジトリにカーソルを合わせ、[設定] settingsをクリックします。
[全般設定] ページが開きます。
[このリポジトリを削除] delete をクリックします。
[リポジトリの削除] ダイアログが開きます。
削除するリポジトリの名前を入力します。
[削除] をクリックします。
次のステップ
- Cloud Build の詳細を確認する