Note

Cloud BuildDockerを動かす際にCloud Buildで設定した環境変数をDockerに渡したい。

環境変数を渡すにはcloudbuild.yamlで設定を書き換える必要がある。 ※ 設定のインラインYamlでも可能。

cloudbuild.yamlには以下のように設定がされている

steps:
  - name: gcr.io/cloud-builders/docker
    args:
      - build
      - '--no-cache'
      - '-t'
      - '$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
      - .
      - '-f'
      - Dockerfile
    id: Build
  - name: gcr.io/cloud-builders/docker
		args: 
			- ...
    id: Deploy
    entrypoint: gcloud
images:
  - '$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
options:
  substitutionOption: ALLOW_LOOSE
substitutions:
  _DEPLOY_REGION: asia-northeast1
  _GCR_HOSTNAME: asia.gcr.io
  _PLATFORM: managed
  _TRIGGER_ID: b3a80fb8-d156-49b9-9c2e-44a85d08171c
  _SERVICE_NAME: dynamic-ranking-collection
tags:
  - gcp-cloud-build-deploy-cloud-run
  - gcp-cloud-build-deploy-cloud-run-managed
  - dynamic-ranking-collection

ビルド実行をする際に--build-argを指定してあげる。

--build-arg ENV_VALUE=_ENV_VALUE

args: 
	- build
	- '--bulid-arg'
	- ENV_VALUE=_ENV_VALUE

あとはCloud Buildの環境変数に値を入れてあげると--build-argに値を渡すことができる。

参考

CloudBuildで設定した環境変数をDockerに渡す - Qiita