Google Cloud Build部署到Firebase托管时发生意外错误

时间:2020-09-27 16:08:10

标签: firebase firebase-hosting google-cloud-build firebase-cli

我以前曾设法通过Google Cloud build将小型项目部署到Firebase托管。我当前的项目包括函数,但是我的部署脚本是--only:hosting

我了解这类似于以下帖子:stackoeverflow1 stackoverflow2stackoverflow3-但我使用的是函数和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映像是最新的并且可以正常构建吗?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

对于在target文件中没有定义firebase.json键和值的部署,以及对于target值不正确的部署,可能会产生此错误消息。

根据Firebase documentation

在您的firebase.json文件中,在以下情况下引用关联的目标名称 您正在为每个资源或一组资源配置设置 资源。