最近,尝试通过Firebase部署功能时,我开始遇到问题。运行命令firebase deploy --only functions
时,我的四个功能之一正确部署,但是其他三个功能在firebase-tools控制台中抛出此错误:
部署错误。 构建失败:构建错误详细信息不可用。请检查我的GCP日志的网址
中的日志
当我查看日志时,针对每个失败的功能显示的错误消息是:
错误:构建第3步“ us.gcr.io/fn-img/buildpacks/nodejs10/builder:nodejs10_20200922_20_RC00”失败:步骤退出,状态为非零:46
我已经搜索和搜索了很长时间,但找不到任何报告相同错误代码,返回相同非零状态或在第3步失败的函数的人。有关对错误进行故障排除的文档。
希望这里有人可以指出正确的方向。
谢谢!
答案 0 :(得分:3)
该错误似乎是由于Firebase的历史记录/恢复功能中缺少文件(或无法访问)引起的。不知道为什么。
对我有用的解决方法是:
> firebase deploy
答案 1 :(得分:2)
很抱歉,由于我无法评论xaphod,因此Markus的修复程序对我有用,谢谢您!删除该功能意味着它会创建一个新的功能,而不是尝试还原它,这是构建过程中失败的第3步。
作为对xaphod的响应,我确实为工件存储桶中的旧文件设置了生命周期规则,这是迄今为止我最大的存储桶,并且正在推动免费层限制。我设置的时间可能有点短,在上次更新时间之后的5天删除了它,但是令人惊讶的是直到今天才遇到此问题(可能是因为我通常只在更新一个时才部署它们)。我现在删除了生命周期规则,尽管我希望它不会再次占用存储空间,但我可能最终会联系支持人员,以查看是否有一种方法可以对它们进行生命周期而不删除最新的数据,不确定为什么不这样做只是清除更新中的旧图像。
找到了建议建立生命周期规则的帖子firebase storage artifacts is huge,并进行了一些测试,删除了我们中的所有文件。工件并部署了我的所有功能(所有功能都出错了,只删除了功能)我需要更早更新并自行部署)。不会造成任何错误,只需花费更长的时间,因此我认为可以通过全部删除或不删除任何内容来解决此问题,可能是将生命周期规则设置为立即删除并处理增加的部署时间,而不是Firebase存储成本。