1. はじめに
概要
この Codelab では、8 つの JavaScript アプリケーションを Cloud Run にデプロイします。
- Angular SSR - Angular ベース
- Nuxt.js - Vue.js ベース
- Next.js - React ベース
- Remix - React ベース
- SvelteKit - Svelte ベース
- SolidStart - Solid.js ベース
- 天体写真
- Qwik








学習内容
- Cloud Build がサポートする JavaScript フレームワークを自動的にデプロイする方法
- 構成が必要な JavaScript フレームワークをデプロイする方法
前提条件
- Cloud Shell ターミナルにログインしている。
- 課金が有効になっている Google Cloud プロジェクトがあり、Cloud Run にデプロイする権限がある。
- 以前に Cloud Run サービスをデプロイしたことがある場合は、これを確認できます。たとえば、ソースコードから Node.js ウェブ サービスをデプロイするクイックスタートに沿って操作して、開始できます。
2. Cloud Shell をアクティブにする
- Cloud Shell ターミナル(https://shell.cloud.google.com/?show=terminal)に移動します。Cloud Shell を初めて起動した場合は、その内容を説明する画面が表示されます。その場合は、[続行] をクリックしてください。すぐにプロビジョニングが実行され、Cloud Shell に接続されます。
- Cloud Shell で次のコマンドを実行して、
gcloudプロジェクトを設定します。 <PROJECT_ID> は実際のプロジェクト ID に置き換えます。例:gcloud config set project <PROJECT_ID>
承認するよう求められたら、[承認] をクリックします。gcloud config set project js-frameworks
3. API を有効にする
この Codelab を開始する前に、いくつかの API を有効にする必要があります。この Codelab では、次の API を使用する必要があります。これらの API を有効にするには、次のコマンドを実行します。
gcloud services enable \
cloudbuild.googleapis.com \
artifactregistry.googleapis.com \
run.googleapis.com
次に、この Codelab 全体で使用する環境変数を設定します。
4. デフォルト リージョンを構成する
リージョンはデプロイごとに個別に設定できます。このコマンドは、デフォルトのリージョンを us-central1 に設定します。これにより、リージョンごとに設定する必要がなくなります。
gcloud config set run/region us-central1
5. Git を構成する
一部のライブラリでは、デフォルトで git がバージョン管理に使用されることが想定されています。マシンで git がすでに構成されている場合(このラボをローカルで実行している場合など)、これらの手順を実行する必要はありません。
git config --global user.email "you@example.com" git config --global user.name "Your Name" git config --global init.defaultBranch main
6. Angular SSR(Angular)
- Angular アプリケーションを作成するディレクトリに移動します。
cd ~
- サーバーサイド レンダリング(SSR)を使用する Angular アプリケーションを作成する
設定の入力を求められたら、npx @angular/cli new angular-app --ssr
Enterキーを押してデフォルトを受け入れます。 - 作成した新しいプロジェクト フォルダに移動します。
cd angular-app
- アプリケーションをデプロイする
設定の入力を求められたら、gcloud run deploy --allow-unauthenticated
Enterキーを押してデフォルトを受け入れます。
アプリケーションの確認
デプロイには数分かかります。完了すると、Cloud Run は次のような URL を返します。
https://angular-app-xxxxxxxxxx-uc.a.run.app

提供された URL を新しいブラウザタブで開いて、デプロイされたアプリケーションを表示します。
オプションのクリーンアップ
- Angular プロジェクトをローカルで削除する
cd .. rm -rf angular-app - Angular Cloud Run サービスを削除する
続行するかどうかを確認するメッセージが表示されたら、gcloud run services delete angular-appEnterキーを押して続行します。
7. Nuxt.js(Vue.js)
- Angular アプリケーションを作成するディレクトリに移動します。
cd ~
- Nuxt.js アプリケーションを作成する
設定の入力を求められたら、npx nuxi init nuxt-app
Enterキーを押してデフォルトを受け入れます。 - 作成した新しいプロジェクト フォルダに移動します。
cd nuxt-app
- アプリケーションをデプロイする
設定の入力を求められたら、gcloud run deploy --allow-unauthenticated
Enterキーを押してデフォルトを受け入れます。
アプリケーションの確認
デプロイには数分かかります。完了すると、Cloud Run は次のような URL を返します。
https://nuxt-app-xxxxxxxxxx-uc.a.run.app
提供された URL を新しいブラウザタブで開いて、デプロイされたアプリケーションを表示します。

オプションのクリーンアップ
- ローカルで Nuxt.js プロジェクトを削除する
cd .. rm -rf nuxt-app - Nuxt.js Cloud Run サービスを削除する
続行するかどうかを確認するメッセージが表示されたら、gcloud run services delete nuxt-appEnterキーを押して続行します。
8. Next.js(React)
- Angular アプリケーションを作成するディレクトリに移動します。
cd ~
- Next.js アプリケーションを作成する
設定の入力を求められたら、npx create-next-app next-app
Enterキーを押してデフォルトを受け入れます。 - 作成した新しいプロジェクト フォルダに移動します。
cd next-app
- アプリケーションをデプロイする
設定の入力を求められたら、gcloud run deploy --allow-unauthenticated
Enterキーを押してデフォルトを受け入れます。
アプリケーションの確認
デプロイには数分かかります。完了すると、Cloud Run は次のような URL を返します。
https://next-app-xxxxxxxxxx-uc.a.run.app
提供された URL を新しいブラウザタブで開いて、デプロイされたアプリケーションを表示します。

オプションのクリーンアップ
- ローカルで Next.js プロジェクトを削除する
cd .. rm -rf next-app - Next.js Cloud Run サービスを削除する
続行するかどうかを確認するメッセージが表示されたら、gcloud run services delete next-appEnterキーを押して続行します。
9. Remix(React)
- Angular アプリケーションを作成するディレクトリに移動します。
cd ~
- Remix アプリケーションを作成する
設定の入力を求められたら、npx create-remix remix-app
Enterキーを押してデフォルトを受け入れます。 - 作成した新しいプロジェクト フォルダに移動します。
cd remix-app
- アプリケーションをデプロイする
設定の入力を求められたら、gcloud run deploy --allow-unauthenticated
Enterキーを押してデフォルトを受け入れます。
アプリケーションの確認
デプロイには数分かかります。完了すると、Cloud Run は次のような URL を返します。
https://remix-app-xxxxxxxxxx-uc.a.run.app
提供された URL を新しいブラウザタブで開いて、デプロイされたアプリケーションを表示します。

オプションのクリーンアップ
- Remix プロジェクトをローカルで削除する
cd .. rm -rf remix-app - Remix Cloud Run サービスを削除する
続行するかどうかを確認するメッセージが表示されたら、gcloud run services delete remix-appEnterキーを押して続行します。
10. Cloud Shell のクリーンアップ
Cloud Shell を使用していない場合や、単一のアプリケーションのみをデプロイする場合は、この手順は省略可能です。
Cloud Shell には、永続的な 5 GB のホーム ディレクトリが用意されており、Google Cloud で稼働します。
Cloud Shell で 8 つのフレームワークすべてをデプロイするには、残りのアプリケーション用のスペースを作成する必要があります。
Cloud Shell でプロジェクトを削除しても、デプロイした Cloud Run サービスは削除されません。
すでに作成したアプリケーションをクリアするには、次のコマンドを実行します。
cd ~ rm -rf angular-app/ rm -rf nuxt-app/ rm -rf next-app/ rm -rf remix-app/
11. SvelteKit(Svelte)
- Angular アプリケーションを作成するディレクトリに移動します。
cd ~
- SvelteKit アプリケーションを作成する
設定の入力を求められたら、npx create-svelte svelte-app
Enterキーを押してデフォルトを受け入れます。 - 作成した新しいプロジェクト フォルダに移動します。
cd svelte-app
- アプリケーションをデプロイする
設定の入力を求められたら、gcloud run deploy --allow-unauthenticated
Enterキーを押してデフォルトを受け入れます。
アプリケーションの確認
デプロイには数分かかります。完了すると、Cloud Run は次のような URL を返します。
https://svelte-app-xxxxxxxxxx-uc.a.run.app
提供された URL を新しいブラウザタブで開いて、デプロイされたアプリケーションを表示します。

オプションのクリーンアップ
- SvelteKit プロジェクトをローカルで削除する
cd .. rm -rf svelte-app - SvelteKit Cloud Run サービスを削除する
続行するかどうかを確認するメッセージが表示されたら、gcloud run services delete svelte-appEnterキーを押して続行します。
12. SolidStart(Solid)
- Angular アプリケーションを作成するディレクトリに移動します。
cd ~
- SolidStart アプリケーションを作成する
設定の入力を求められたら、npx create-solid solid-app
Enterキーを押してデフォルトを受け入れます。 - 作成した新しいプロジェクト フォルダに移動します。
cd solid-app
- アプリケーションをデプロイする
設定の入力を求められたら、gcloud run deploy --allow-unauthenticated
Enterキーを押してデフォルトを受け入れます。
アプリケーションの確認
デプロイには数分かかります。完了すると、Cloud Run は次のような URL を返します。
https://solid-app-xxxxxxxxxx-uc.a.run.app
提供された URL を新しいブラウザタブで開いて、デプロイされたアプリケーションを表示します。

オプションのクリーンアップ
- SolidStart プロジェクトをローカルで削除する
cd .. rm -rf solid-app - SolidStart Cloud Run サービスを削除する
続行するかどうかを確認するメッセージが表示されたら、gcloud run services delete solid-appEnterキーを押して続行します。
13. Astro
- Angular アプリケーションを作成するディレクトリに移動します。
cd ~
- Astro アプリケーションを作成する
設定の入力を求められたら、npx create-astro astro-app
Enterキーを押してデフォルトを受け入れます。 - 作成した新しいプロジェクト フォルダに移動します。
cd astro-app
- Node.js 用 Astro アダプタを追加する
npx astro add node
package.jsonのstartスクリプトを更新npm pkg set scripts.start="HOST=0.0.0.0 node ./dist/server/entry.mjs"
- アプリケーションをデプロイする
設定の入力を求められたら、gcloud run deploy --allow-unauthenticated
Enterキーを押してデフォルトを受け入れます。
アプリケーションの確認
デプロイには数分かかります。完了すると、Cloud Run は次のような URL を返します。
https://astro-app-xxxxxxxxxx-uc.a.run.app
提供された URL を新しいブラウザタブで開いて、デプロイされたアプリケーションを表示します。

オプションのクリーンアップ
- Astro プロジェクトをローカルで削除する
cd .. rm -rf astro-app - Astro Cloud Run サービスを削除する
続行するかどうかを確認するメッセージが表示されたら、gcloud run services delete astro-appEnterキーを押して続行します。
14. Qwik
- Angular アプリケーションを作成するディレクトリに移動します。
cd ~
- Qwik アプリケーションを作成する
設定の入力を求められたら、npx create-qwik
Enterキーを押してデフォルトを受け入れます。 - 作成した新しいプロジェクト フォルダに移動します。
cd qwik-app
- Cloud Run 用の Qwik アダプタを追加する
npm run qwik add cloud-run
- アプリケーションをデプロイする
設定の入力を求められたら、gcloud run deploy --allow-unauthenticated
Enterキーを押してデフォルトを受け入れます。
アプリケーションの確認
デプロイには数分かかります。完了すると、Cloud Run は次のような URL を返します。
https://qwik-app-xxxxxxxxxx-uc.a.run.app
提供された URL を新しいブラウザタブで開いて、デプロイされたアプリケーションを表示します。

オプションのクリーンアップ
- Qwik プロジェクトをローカルで削除する
cd .. rm -rf qwik-app - Qwik Cloud Run サービスを削除する
続行するかどうかを確認するメッセージが表示されたら、gcloud run services delete qwik-appEnterキーを押して続行します。
15. 完了
以上で、この Codelab は完了です。
今後のビルドがバージョン管理への push ごとに自動的にデプロイされるように、クイックスタート: git リポジトリから Cloud Run にデプロイするのドキュメントを確認することをおすすめします。
本日扱った内容
- Cloud Build がサポートする JavaScript フレームワークを自動的にデプロイする方法
- Angular SSR - Angular ベース
- Nuxt.js - Vue.js ベース
- Next.js - React ベース
- Remix - React ベース
- SvelteKit - Svelte ベース
- SolidStart - Solid.js ベース
- 構成が必要な JavaScript フレームワークをデプロイする方法
- 天体写真
- Qwik
16. クリーンアップ
意図しない課金を避けるため(たとえば、この Cloud Run サービスが 無料枠の Cloud Run 呼び出しの月間割り当てよりも多く呼び出された場合)、Cloud Run ジョブを削除するか、ステップ 1 で作成したプロジェクトを削除します。
Cloud Run サービスを削除するには、Cloud Run Cloud Console(https://console.cloud.google.com/run/)に移動して、Cloud Run サービスを削除します。
プロジェクト全体を削除する場合は、https://console.cloud.google.com/cloud-resource-manager に移動し、ステップ 2 で作成したプロジェクトを選択して、[削除] を選択します。プロジェクトを削除した場合は、Cloud SDK でプロジェクトを変更する必要があります。gcloud projects list を実行すると、使用可能なすべてのプロジェクトのリストを表示できます。