我以前曾设法通过Google Cloud build将小型项目部署到Firebase托管。我当前的项目包括函数,但是我的部署脚本是--only:hosting
我了解这类似于以下帖子:stackoeverflow1 stackoverflow2和stackoverflow3-但我使用的是函数和kms而非机密信息,并且我已经登录到firebase ci以获得我的信息令牌。到目前为止,我还没有看到足够清楚的指示!
我正在使用Google kms加密,并且我的所有权限都已正确设置。正确的帐户具有Firebase管理员权限。触发变量定义正确。
我的.env文件包含一个参数FIREBASE_TOKEN,该参数是我通过进行Firebase登录获得的:ci
这是我的cloudbuild.yaml
steps:
# Install
- name: 'gcr.io/cloud-builders/npm'
args: ['install']
# Build
- name: 'gcr.io/cloud-builders/npm'
args: ['run', 'build']
#Decrypt
- name: 'gcr.io/cloud-builders/gcloud'
args: ['kms', 'decrypt', '--ciphertext-file=.env.enc', '--plaintext-file=.env', '--location=global', '--keyring=$_KEY_RING', '--key=$_KEY']
# Deploy
- name: 'gcr.io/$_PROJECT_ENV/firebase'
args: ['deploy', '--debug', '--token=$FIREBASE_TOKEN', '--only=hosting:$_DEPLOY_TO', '--project', '$_PROJECT_ENV']
运行正常,直到最后给出以下消息:
Step #3: === Deploying to 'dev-xxxxx'...
Step #3:
Step #3: i deploying hosting
Step #3:
Step #3: ✔ Deploy complete!
Step #3:
Step #3: Project Console: https://console.firebase.google.com/project/dev-xxxxx/overview
Step #3: [2020-09-27T15:51:57.341Z] TypeError: Cannot read property 'deploys' of undefined
Step #3: at /usr/local/lib/node_modules/firebase-tools/lib/deploy/index.js:85:36
Step #3: at processTicksAndRejections (internal/process/task_queues.js:93:5)
Step #3:
Step #3: Error: An unexpected error has occurred.
试图找出可能出问题的地方将我的头发撕成碎片?没有收到任何权限错误,firebase映像是最新的并且可以正常构建吗?有什么建议吗?
答案 0 :(得分:1)
对于在target
文件中没有定义firebase.json
键和值的部署,以及对于target
值不正确的部署,可能会产生此错误消息。
在您的
firebase.json
文件中,在以下情况下引用关联的目标名称 您正在为每个资源或一组资源配置设置 资源。