cloudbuildにて、secretEnvをdockerのbuild-argに環境変数として登録したいのですが、
build-argが空になっており、dockerfile上だと空になってしまいます。
コマンドで復元したところ問題なかったので、正しくKMSは登録できていると考えています。
ミニマムな環境で試したところ、envには登録されていたので、
この記事の中の「Cloud Buildで暗号化したパラメータを環境変数として利用したい」を参考にしたところenvには表示されていたので、権限も問題ないかと思います。
予想は以下の部分の変数の宣言の部分が間違っているのではないかと思っています。
yml
1'PERSONAL_ACCESS_TOKEN=$$PERSONAL_ACCESS_TOKEN' 2
cloudbuild.yml
yml
1secrets: 2- kmsKeyName: projects/***/locations/global/keyRings/***/cryptoKeys/*** 3 secretEnv: 4 PERSONAL_ACCESS_TOKEN: *** 5- name: 'gcr.io/cloud-builders/docker' 6 args: 7 - 'build' 8 - '-t' 9 - 'gcr.io/$PROJECT_ID/backend:$COMMIT_SHA' 10 - '-f' 11 - 'Dockerfile' 12 - '--build-arg' 13 - 'PERSONAL_ACCESS_TOKEN=$$PERSONAL_ACCESS_TOKEN' 14 - '--build-arg' 15 - 'BRANCH=master' 16 - '.' 17 secretEnv: ['PERSONAL_ACCESS_TOKEN'] 18
dockerfile
dockerfile
1From hogehoge 2 3ARG BRANCH 4ARG PERSONAL_ACCESS_TOKEN 5 6RUN git clone -b $BRANCH --single-branch "https://$PERSONAL_ACCESS_TOKEN@github.com/hoge.git" backend_build 7
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。