Nuxt 3 Release Candidate がリリースされました! v3.nuxtjs.org で詳細について見れます。

翻訳されたページ このページのコンテンツは古い可能性があります。

Nuxt を Google Cloud Run へデプロイする

Nuxt を Google Cloud Run にどうやってデプロイするのか?


Google Cloud Run はコンテナ化されたアプリケーションを迅速に安全にデプロイし、スケーリングするためのフルマネージド・コンピュータ・プラットフォームです。

このガイドでは、簡単にプロジェクトのフォルダ全体を Dockerfile で Google Cloud Build にアップロードします。アップロードした後、Cloud Build は自動でコンテナを生成します。そしてコンテナを package.json の start スクリプトで起動する、Google Cloud Run にデプロイします。

はじめに

Google Cloud Account とプロジェクト、そしてエディターとして Cloud Build と Cloud Run にアクセス権があることを確認してください。さらに Google のこちら で解説されている Cloud SDK (CLI) をダウンロードしてインストールし、Google Cloud Account でログインしてください。もし Cloud SDK をダウンロードしたくない場合、Google Cloud Console から gcloud CLI を使用することができます。

いくつかチェックをしましょう!

Cloud Build API と Cloud Run API が無効の場合、有効にします:

# Cloud Build を有効にする
$ gcloud services enable cloudbuild.googleapis.com

# Cloud Run を有効にする
$ gcloud services enable run.googleapis.com

Go in your application directory and install dependencies:

# yarn ユーザー向け
$ yarn

# npm ユーザー向け
$ npm install

Start the application locally:

# yarn ユーザー向け
$ yarn dev

# npm ユーザー向け
$ npm run dev

全ての動作を確認します。

アプリケーションのコンテナ化

それでは、Cloud Build でコンテナを作成します。

Nuxt アプリケーションに Dockerfile を追加する必要があります。 プロジェクトのルートディレクトリに Dockerfile という名前の新しいファイルを作成し、以下の内容を追加してください:

yarn ユーザー向け:

FROM node:14

WORKDIR /usr/src/app

COPY . ./
RUN yarn

EXPOSE 8080

ENV HOST=0.0.0.0
ENV PORT=8080

RUN yarn build

CMD [ "yarn", "start" ]

npm ユーザー向け:

FROM node:14

WORKDIR /usr/src/app

COPY . ./
RUN npm install

EXPOSE 8080

ENV HOST=0.0.0.0
ENV PORT=8080

RUN npm run build

CMD [ "npm", "run", "start" ]

ビルドプロセスを開始するため、以下のコマンドを実行してください:

gcloud builds submit --tag gcr.io/<YOUR_GOOGLE_CLOUD_PROJECT_ID>/my-nuxt-app-name:1.0.0 .

!注意: もし継続的デリバリーや .env ファイルでの設定を実装したい場合、Cloud Build 構成ファイル を使用する必要があります。

Cloud Run へのアプリケーションのデプロイ

アプリケーションをデプロイするため以下のコマンドを実行してください:

gcloud run deploy --image=gcr.io/<YOUR_GOOGLE_CLOUD_PROJECT_ID>/my-nuxt-app-name:1.0.0 --platform managed --port 3000

パブリックアクセスの設定を行いたい場合、認証されていない起動を許可します。

Cloud Run アプリケーションのデフォルトの同時実行値は 80 であることに注意してください(各コンテナ・インスタンスは、一度に最大 80 のリクエストを処理します)。このようにして同時実行値を指定することができます:

gcloud run deploy --image=gcr.io/<YOUR_GOOGLE_CLOUD_PROJECT_ID>/my-nuxt-app-name:1.0.0 --platform managed --port 3000 --concurrency <YOUR_CONCURRENCY_VALUE>

デプロイメントの作成に成功しているか確認するため、以下のコマンドを実行してください:

gcloud run services list --platform managed

Cloud Run サービスのリストが表示されます。デプロイした URL をクリックし、結果をお楽しみください!