
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Build two Container images in Cloud Build
/ 50
Build and Test Containers with a build configuration file and Cloud Build
/ 50
このラボでは Cloud Build を使用して、提供されているコードや Dockerfile から Docker コンテナ イメージをビルドした後、コンテナを Artifact Registry にアップロードします。
このラボでは、次のタスクの実行方法について学びます。
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] パネルでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] パネルでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
最初のログイン手順を完了すると、プロジェクト ダッシュボードが開きます。
Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。
Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。
[続行] をクリックします。
環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力例:
出力:
出力例:
Google Cloud プロジェクトの名前をメモします。この値は、Google Cloud コンソールの上部のバーに表示されます。qwiklabs-gcp-
の形式で、その後に 16 進数が続きます。
Google Cloud コンソールのナビゲーション メニュー()で、[API とサービス] をクリックします。
[ライブラリ] をクリックします。
[API とサービスを検索] ボックスに「Cloud Build」と入力します。
検索結果の Cloud Build API のカードをクリックします。この API が有効であることを示すメッセージが表示されない場合は、[有効にする] ボタンをクリックします。
戻るボタンを使用して、検索ボックスがある前の画面に戻ります。検索ボックスに「Artifact Registry」と入力します。
検索結果の Google Artifact Registry API のカードをクリックします。この API が有効であることを示すメッセージが表示されない場合は、[有効にする] ボタンをクリックします。
ビルド構成ファイルを作成して、コンテナをビルドする際に実行するタスクを Cloud Build に指示できます。このビルドファイルを使用して、依存関係の取得、単体テストや分析の実行などを行えます。このタスクでは DockerFile を作成し、Cloud Build でビルド構成スクリプトとして使用します。また、コンテナ内のアプリケーションを表す簡単なシェル スクリプト(quickstart.sh)も作成します。
Google Cloud コンソールのタイトルバーで、「Cloud Shell をアクティブにする」をクリックします。
プロンプトが表示されたら [承認] をクリックします。
Google Cloud コンソール ウィンドウの下部に Cloud Shell が開きます。
quickstart.sh
ファイルを作成します。quickstart.sh
ファイルに次の行を追加します。ファイルを保存してから Ctrl+X キーを押して nano を閉じ、次に Y キーを押してから Enter キーを押します。
nano テキスト エディタを使用して空の Dockerfile
ファイルを作成します。
このコマンドは、Alpine Linux ベースイメージを使用するようにビルドに指示します。
このコマンドによって quickstart.sh
スクリプトがイメージの「/」ディレクトリに追加されます。
このコマンドによって、関連するコンテナが作成、実行される際に、/quickstart.sh
スクリプトが実行されるようにイメージが構成されます。
Dockerfile は次のようになります。
ファイルを保存してから Ctrl+X キーを押して nano を閉じ、次に Y キーを押してから Enter キーを押します。
Cloud Shell で次のコマンドを実行して、quickstart.sh
スクリプトを実行可能にします。
quickstart-docker-repo
という名前の新しい Docker リポジトリを作成し、「Docker repository」という説明を加えます。ビルドが完了すると、Docker イメージがビルドされて Artifact Registry に push されます。
Google Cloud コンソールの検索バー(コンソール ウィンドウの上部にあります)で、「Artifact Registry」を検索します。
quickstart-docker-repo
という名前のリポジトリをクリックします。
quickstart-image
Docker イメージがリストに表示されます。
Cloud Build は、カスタムビルド構成ファイルにも対応しています。このタスクでは、Cloud Build で YAML 形式のカスタム ビルドファイルを使用して、既存の Docker コンテナを組み込みます。
cloudbuild.yaml
という Cloud Build のサンプル カスタムビルド構成ファイルを作成します。
cloudbuild.yaml
というファイルを作成し、nano で開きます。cloudbuild.yaml
ファイルに貼り付けます。Ctrl+O キーの次に Enter キーを押し、編集したファイルを保存します。
Ctrl+X キーを押して nano テキスト エディタを終了します。
次のコマンドを実行して、リージョン変数を設定し、その値を YAML ファイルに挿入します。
cloudbuild.yaml
の内容を表示します。次の内容が表示されます。
このファイルが Cloud Build に対して指示していることは、現在のローカル ディレクトリにある Dockerfile 仕様を使用して Docker でイメージをビルドし、そのイメージを gcr.io/$PROJECT_ID/quickstart-image
でタグ付けしてから Artifact Registry に push するということです($PROJECT_ID
は置換変数であり、関連するプロジェクトのプロジェクト ID が Cloud Build によって自動的に入力されます)。
cloudbuild.yaml
をビルド構成ファイルとして使用して Cloud Build を開始するには、Cloud Shell で次のコマンドを実行します。Cloud Shell のビルド出力は前のタスクと同じになるはずです。ビルドが完了すると、同じイメージの新しいバージョンが Artifact Registry に push されます。
Google Cloud コンソールの検索バー(コンソール ウィンドウの上部にあります)で、「Artifact Registry」を検索します。
検索結果で [Artifact Registry] をクリックします。
quickstart-docker-repo > quickstart-image という名前のリポジトリをクリックします。
これで 2 つのバージョンの quickstart-image
がリストに追加されました。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Google Cloud コンソールのウィンドウの上部にある検索バーで、「Cloud Build」を検索します。
検索結果から [Cloud Build] をクリックします。
[Cloud Build] で [履歴] をクリックします。リストに 2 つのビルドが表示されます。
リストの先頭のビルド ID をクリックします。 ビルドログを含むビルドの詳細が表示されます。
カスタムビルド構成ファイルの真の強みは、ただコンテナをビルドするだけでなく、他のアクションを同時または順番に実行できることです。新しくビルドされたコンテナでテストを実行してさまざまな宛先に push できるほか、Kubernetes Engine にデプロイすることも可能です。
このタスクでは、ビルドしたコンテナをテストして、その呼び出し元の環境に結果を報告するビルド構成ファイルの簡単な例を紹介します。まず、quickstart.sh
ファイルを変更します。
Cloud Shell で次のコマンドを実行して、nano で quickstart.sh
を開きます。
既存のコードを次のコードに置き換えます。
Ctrl+O キーの次に Enter キーを押し、編集したファイルを保存します。
Ctrl+X キーを押して nano テキスト エディタを終了します。
cloudbuild2.yaml
という Cloud Build の新しいカスタム構成ファイルを作成します。このファイルは、ビルドしたコンテナをテストする Cloud Build の機能を示すために、少し変更されています。
cloudbuild2.yaml
というファイルを作成し、nano で開きます。cloudbuild2.yaml
ファイルに貼り付けます。Ctrl+O キーの次に Enter キーを押し、編集したファイルを保存します。
Ctrl+X キーを押して nano テキスト エディタを終了します。
次のコマンドを実行して、YAML ファイルにリージョン値を挿入します。
cloudbuild2.yaml
の内容を表示します。次の内容が表示されます。
このビルド構成ファイルは、前のアクションに加え、作成された quickstart-image
を実行します。このタスクでは、引数 ['fail']
が渡されたときにテストが失敗するように、quickstart.sh
スクリプトが変更されています。
cloudbuild.yaml
をビルド構成ファイルとして使用して Cloud Build を開始するには、Cloud Shell で次のコマンドを実行します。コマンドの出力が表示され、出力の末尾に次のようなテキストがあります。
出力
このコマンドではゼロ以外の値が戻ります。スクリプトにこのビルドを埋め込んでおくと、スクリプトでビルドの失敗に対処することができます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください