Open4

Cloud Run, Next.jsデプロイメモ

Hide(ひで)Hide(ひで)
  • 秘密情報
    • 新しいリビジョンをデプロイする時にシークレットを設定できる
    • secret mangerに値を追加してデプロイ時に選択して環境変数として公開

これは実行時の環境変数について。
build時も環境変数が必要となる。
Next.jsのnext buildする必要があってこのときに環境変数が必要。
どうやって環境変数を渡す?

Hide(ひで)Hide(ひで)

Cloud Buildのロケーションがインラインに設定されている。
「エディタで開く」でyamlファイルが見れる。
buildするときにこれが動いてると思われる。

以下の感じで環境変数を渡したら動いた。

steps:
  - name: gcr.io/k8s-skaffold/pack
    args:
      - build
      - '$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
      - '--builder=gcr.io/buildpacks/builder:v1'
      - '--network=cloudbuild'
      - '--path=.'
      - '--env'
      - DATABASE_URL=$_DATABASE_URL
      - '--env'
      - NEXTAUTH_SECRET=$_NEXTAUTH_SECRET
      - '--env'
      - NEXTAUTH_URL=$_NEXTAUTH_URL
      - '--env'
      - DISCORD_CLIENT_ID=$_DISCORD_CLIENT_ID
      - '--env'
      - DISCORD_CLIENT_SECRET=$_DISCORD_CLIENT_SECRET
    id: Buildpack
    entrypoint: pack
  - name: gcr.io/cloud-builders/docker

TODO: secretはsecret manger使うようにすべきだと思う。

Hide(ひで)Hide(ひで)

Cloud Run側の環境変数とCloud Build側の環境変数と、同じ値を二箇所にセットしないといけない!?