我有将近一个小时的错误,但找到了解决方案,陷入了令人担忧的困境。该解决方案使人们意识到,在任务队列中有一个任务要由要替换的服务器版本提供服务时,无法运行gcloud app deploy 。
错误是:ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build XXXXXXXXXXXX status: FAILURE
的xxxx部分是一些自动生成的base64值。
解决方案是:删除任务队列中的所有任务
问题:是否存在解决方法,或者我必须在部署之前删除任务队列中的所有任务(就像我一样)?
详细信息:服务器是用nodejs编写的。
答案 0 :(得分:1)
我怀疑在这种情况下可能发生的虚拟“行头阻止”可能会驱使发往要删除版本的任务时清空任务队列的需要,从而影响到其他服务/版本项目(任务队列在项目中共享),甚至可能是相关的GAE基础设施功能。
从根本上重写某个应用程序/服务版本有点违反了版本控制的整个目的(想象一下git,它允许您更改与某个SHA签名关联的提交/引用的内容!)。但是在某些情况下(例如,当该版本实际上用于实现某个执行环境时),这是有意的。
您所描述的不是GAE部署的唯一问题 覆盖某个版本的应用程序/服务(顺便说一句,我以前没想过,谢谢!)。在Continuous integration/deployment/delivery on Google App Engine, too risky?中捕获了另一个。
如果您使用版本重写的部署实际上是在尝试实施部署环境,那么您可能还希望查看与Advantages of implementing CI/CD environments at GAE project/app level vs service/module level?相比的其他两个潜在的(更好的IMHO)替代方案。
答案 1 :(得分:1)
答案 2 :(得分:1)
我遇到了同样的问题,回去为保险账户设置了正确的保险,然后对我有用...