У меня есть триггер облачной сборки, который пытается переместить мое приложение на хостинг Firebase.Для этого у меня есть зашифрованный файл .env.enc, содержащий токен firebase, необходимый для развертывания.Во время сборки я расшифровываю этот файл и пытаюсь развернуть, но получаю несанкционированное сообщение.
Я пытался жестко запрограммировать токен в своем сценарии развертывания вместо использования переменной среды, и он развертывается нормально.
Вот мой cloudbuild.yaml
steps:
- name: gcr.io/cloud-builders/gcloud
args:
- kms
- decrypt
- --ciphertext-file=.env.enc
- --plaintext-file=.env
- --location=global
- --keyring=ssr-vue-docker-app
- --key=cloudbuild-env
# Install
- name: 'gcr.io/cloud-builders/npm'
args: ['install']
# Test
- name: 'gcr.io/cloud-builders/npm'
args: ['run', 'test']
# Build
- name: 'gcr.io/cloud-builders/npm'
args: ['run', 'build']
# Deploy
- name: 'gcr.io/cloud-builders/npm'
args: ['run', 'deploy']
На последнем этапе развертывания в моем package.json вызывается сценарий npm с переменной среды, используемой из расшифрованного файла .env.
"deploy": "firebase deploy --debug --token \"$FIREBASE_TOKEN\"
Исходный вывод, который я получаю, предполагает, что токен не используется, но его также можно удалить из окончательного журнала.
Step #4: [2019-04-17T21:14:48.087Z] Command: /usr/local/bin/node /workspace/node_modules/.bin/firebase deploy --debug --token= --only=hosting
Это ошибка, которую я получаю при попытке развернуть.
Step #4: Error: HTTP Error: 403, The caller does not have permission
Step #4:
Step #4: [2019-04-17T21:14:48.531Z] <<< HTTP RESPONSE BODY code=403, message=The caller does not have permission, status=PERMISSION_DENIED
Step #4: [2019-04-17T21:14:48.530Z] <<< HTTP RESPONSE 403 vary=X-Origin, Referer, Origin,Accept-Encoding, content-type=application/json; charset=UTF-8, date=Wed, 17 Apr 2019 21:14:48 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, accept-ranges=none, transfer-encoding=chunked
Step #4: rewrites=[glob=**, region=us-central1, serviceId=nuxt-server], deployment-tool=cli-firebase
Step #4: [2019-04-17T21:14:48.337Z] >>> HTTP REQUEST POST https://firebasehosting.googleapis.com/v1beta1/sites/ssr-vue-docker-app/versions
Step #4: i deploying hosting
Step #4:
Step #4: === Deploying to 'ssr-vue-docker-app'...
Любые предложения о том, как я могу отладить, если используется переменная среды?Или мне что-то не хватает в моих шагах сборки, которые позволяют мне использовать переменные окружения из файла .env?
Я пытался следовать этому руководству: https://fireship.io/lessons/ci-cd-with-google-cloud-build/. Кажется, я не вижучто мне здесь не хватает, так что любая помощь приветствуется.