読み込んでいます...
一致する結果は見つかりませんでした。

Google Cloud Skills Boost

Google Cloud コンソールでスキルを試す

Getting Started with Google Kubernetes Engine - 日本語版

700 以上のラボとコースにアクセス

Cloud Build を使ってみる

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

概要

このラボでは Cloud Build を使用して、提供されているコードや Dockerfile から Docker コンテナ イメージをビルドした後、コンテナを Artifact Registry にアップロードします。

目標

このラボでは、次のタスクの実行方法について学びます。

  • Cloud Build を使用してコンテナをビルドし、push する
  • Artifact Registry を使用してコンテナを保存し、デプロイする

ラボの設定

ラボにアクセスする

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。

最初のログイン手順を完了すると、プロジェクト ダッシュボードが開きます。

Google Cloud Shell の有効化

Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

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

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  • 次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list

出力:

Credentialed accounts: - @.com (active)

出力例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project =

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: gcloud ドキュメントの全文については、 gcloud CLI の概要ガイド をご覧ください。

タスク 1. 必要な API が有効になっていることを確認する

  1. Google Cloud プロジェクトの名前をメモします。この値は、Google Cloud コンソールの上部のバーに表示されます。qwiklabs-gcp- の形式で、その後に 16 進数が続きます。

  2. Google Cloud コンソールのナビゲーション メニュー)で、[API とサービス] をクリックします。

  3. [ライブラリ] をクリックします。

  4. [API とサービスを検索] ボックスに「Cloud Build」と入力します。

  5. 検索結果の Cloud Build API のカードをクリックします。この API が有効であることを示すメッセージが表示されない場合は、[有効にする] ボタンをクリックします。

  6. 戻るボタンを使用して、検索ボックスがある前の画面に戻ります。検索ボックスに「Artifact Registry」と入力します。

  7. 検索結果の Google Artifact Registry API のカードをクリックします。この API が有効であることを示すメッセージが表示されない場合は、[有効にする] ボタンをクリックします。

タスク 2. DockerFile と Cloud Build を使用してコンテナをビルドする

ビルド構成ファイルを作成して、コンテナをビルドする際に実行するタスクを Cloud Build に指示できます。このビルドファイルを使用して、依存関係の取得、単体テストや分析の実行などを行えます。このタスクでは DockerFile を作成し、Cloud Build でビルド構成スクリプトとして使用します。また、コンテナ内のアプリケーションを表す簡単なシェル スクリプト(quickstart.sh)も作成します。

  1. Google Cloud コンソールのタイトルバーで、「Cloud Shell をアクティブにする」をクリックします。

  2. プロンプトが表示されたら [承認] をクリックします。

Google Cloud コンソール ウィンドウの下部に Cloud Shell が開きます。

  1. nano テキスト エディタを使用して空の quickstart.sh ファイルを作成します。
nano quickstart.sh
  1. quickstart.sh ファイルに次の行を追加します。
#!/bin/sh echo "Hello, world! The time is $(date)."
  1. ファイルを保存してから Ctrl+X キーを押して nano を閉じ、次に Y キーを押してから Enter キーを押します。

  2. nano テキスト エディタを使用して空の Dockerfile ファイルを作成します。

nano Dockerfile
  1. 次の Dockerfile コマンドを追加します。
FROM alpine

このコマンドは、Alpine Linux ベースイメージを使用するようにビルドに指示します。

  1. Dockerfile の末尾に次の Dockerfile コマンドを追加します。
COPY quickstart.sh /

このコマンドによって quickstart.sh スクリプトがイメージの「/」ディレクトリに追加されます。

  1. Dockerfile の末尾に次の Dockerfile コマンドを追加します。
CMD ["/quickstart.sh"]

このコマンドによって、関連するコンテナが作成、実行される際に、/quickstart.sh スクリプトが実行されるようにイメージが構成されます。

Dockerfile は次のようになります。

FROM alpine COPY quickstart.sh / CMD ["/quickstart.sh"]
  1. ファイルを保存してから Ctrl+X キーを押して nano を閉じ、次に Y キーを押してから Enter キーを押します。

  2. Cloud Shell で次のコマンドを実行して、quickstart.sh スクリプトを実行可能にします。

chmod +x quickstart.sh
  1. ロケーション quickstart-docker-repo という名前の新しい Docker リポジトリを作成し、「Docker repository」という説明を加えます。
gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location={{{project_0.default_region | "REGION"}}} --description="Docker repository"
  1. Cloud Shell で次のコマンドを実行して、Cloud Build に Docker コンテナ イメージをビルドします。
gcloud builds submit --tag {{{project_0.default_region | "REGION"}}}-docker.pkg.dev/${DEVSHELL_PROJECT_ID}/quickstart-docker-repo/quickstart-image:tag1

ビルドが完了すると、Docker イメージがビルドされて Artifact Registry に push されます。

  1. Google Cloud コンソールの検索バー(コンソール ウィンドウの上部にあります)で、「Artifact Registry」を検索します。

  2. quickstart-docker-repo という名前のリポジトリをクリックします。

quickstart-image Docker イメージがリストに表示されます。

タスク 3. ビルド構成ファイルと Cloud Build を使ってコンテナをビルドする

Cloud Build は、カスタムビルド構成ファイルにも対応しています。このタスクでは、Cloud Build で YAML 形式のカスタム ビルドファイルを使用して、既存の Docker コンテナを組み込みます。

cloudbuild.yaml という Cloud Build のサンプル カスタムビルド構成ファイルを作成します。

  1. 次のコマンドを使用して、cloudbuild.yaml というファイルを作成し、nano で開きます。
nano cloudbuild.yaml
  1. nano が開いたら、以下を cloudbuild.yaml ファイルに貼り付けます。
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ] images: - 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
  1. Ctrl+O キーの次に Enter キーを押し、編集したファイルを保存します。

  2. Ctrl+X キーを押して nano テキスト エディタを終了します。

  3. 次のコマンドを実行して、リージョン変数を設定し、その値を YAML ファイルに挿入します。

export REGION={{{project_0.default_region | "REGION"}}} sed -i "s/YourRegionHere/$REGION/g" cloudbuild.yaml
  1. Cloud Shell で次のコマンドを実行して、cloudbuild.yaml の内容を表示します。
cat cloudbuild.yaml

次の内容が表示されます。

steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ] images: - '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'

このファイルが Cloud Build に対して指示していることは、現在のローカル ディレクトリにある Dockerfile 仕様を使用して Docker でイメージをビルドし、そのイメージを gcr.io/$PROJECT_ID/quickstart-image でタグ付けしてから Artifact Registry に push するということです($PROJECT_ID は置換変数であり、関連するプロジェクトのプロジェクト ID が Cloud Build によって自動的に入力されます)。

  1. cloudbuild.yaml をビルド構成ファイルとして使用して Cloud Build を開始するには、Cloud Shell で次のコマンドを実行します。
gcloud builds submit --config cloudbuild.yaml

Cloud Shell のビルド出力は前のタスクと同じになるはずです。ビルドが完了すると、同じイメージの新しいバージョンが Artifact Registry に push されます。

  1. Google Cloud コンソールの検索バー(コンソール ウィンドウの上部にあります)で、「Artifact Registry」を検索します。

  2. 検索結果で [Artifact Registry] をクリックします。

  3. quickstart-docker-repo > quickstart-image という名前のリポジトリをクリックします。

これで 2 つのバージョンの quickstart-image がリストに追加されました。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Cloud Build で 2 つのコンテナ イメージをビルドする

  1. Google Cloud コンソールのウィンドウの上部にある検索バーで、「Cloud Build」を検索します。

  2. 検索結果から [Cloud Build] をクリックします。

  3. [Cloud Build] で [履歴] をクリックします。リストに 2 つのビルドが表示されます。

  4. リストの先頭のビルド ID をクリックします。 ビルドログを含むビルドの詳細が表示されます。

タスク 4. ビルド構成ファイルと Cloud Build を使って、コンテナをビルドおよびテストする

カスタムビルド構成ファイルの真の強みは、ただコンテナをビルドするだけでなく、他のアクションを同時または順番に実行できることです。新しくビルドされたコンテナでテストを実行してさまざまな宛先に push できるほか、Kubernetes Engine にデプロイすることも可能です。

このタスクでは、ビルドしたコンテナをテストして、その呼び出し元の環境に結果を報告するビルド構成ファイルの簡単な例を紹介します。まず、quickstart.sh ファイルを変更します。

  1. Cloud Shell で次のコマンドを実行して、nano で quickstart.sh を開きます。

    nano quickstart.sh
  2. 既存のコードを次のコードに置き換えます。

#!/bin/sh if [ -z "$1" ] then echo "Hello, world! The time is $(date)." exit 0 else exit 1 fi
  1. Ctrl+O キーの次に Enter キーを押し、編集したファイルを保存します。

  2. Ctrl+X キーを押して nano テキスト エディタを終了します。

cloudbuild2.yaml という Cloud Build の新しいカスタム構成ファイルを作成します。このファイルは、ビルドしたコンテナをテストする Cloud Build の機能を示すために、少し変更されています。

  1. 次のコマンドを使用して、cloudbuild2.yaml というファイルを作成し、nano で開きます。
nano cloudbuild2.yaml
  1. nano が開いたら、以下を cloudbuild2.yaml ファイルに貼り付けます。
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ] - name: 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1' args: ['fail'] images: - 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
  1. Ctrl+O キーの次に Enter キーを押し、編集したファイルを保存します。

  2. Ctrl+X キーを押して nano テキスト エディタを終了します。

  3. 次のコマンドを実行して、YAML ファイルにリージョン値を挿入します。

sed -i "s/YourRegionHere/$REGION/g" cloudbuild2.yaml
  1. Cloud Shell で次のコマンドを実行して、cloudbuild2.yaml の内容を表示します。
cat cloudbuild2.yaml

次の内容が表示されます。

steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ] - name: 'gcr.io/$PROJECT_ID/quickstart-image' args: ['fail'] images: - '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'

このビルド構成ファイルは、前のアクションに加え、作成された quickstart-image を実行します。このタスクでは、引数 ['fail'] が渡されたときにテストが失敗するように、quickstart.sh スクリプトが変更されています。

  1. cloudbuild.yaml をビルド構成ファイルとして使用して Cloud Build を開始するには、Cloud Shell で次のコマンドを実行します。
gcloud builds submit --config cloudbuild2.yaml

コマンドの出力が表示され、出力の末尾に次のようなテキストがあります。

出力

BUILD FAILURE: Build step failure: build step 1 "us-east1-docker.pkg.dev/qwiklabs-gcp-02-1c7ba5c697a0/quickstart-docker-repo/quickstart-image:tag1" failed: starting step container failed: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "fail": executable file not found in $PATH: unknown ERROR: (gcloud.builds.submit) build 96c4a454-be06-4010-aa7c-da57c14165f4 completed with status "FAILURE"
  1. ビルドの失敗がコマンドシェルで認識されていることを確認します。
echo $?

このコマンドではゼロ以外の値が戻ります。スクリプトにこのビルドを埋め込んでおくと、スクリプトでビルドの失敗に対処することができます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 ビルド構成ファイルと Cloud Build を使って、コンテナをビルドおよびテストする

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

前へ 次へ

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
プレビュー