Gee*_*Guy 11 google-app-engine task-queue google-tasks-api google-cloud-platform gcloud
我遇到了这个错误将近一个小时,但找到了一个解决方案,导致了一个令人担忧的困境。该解决方案让我们意识到,当任务队列中有一个任务要由要替换的服务器版本提供服务时,无法运行 gcloud app deploy。
错误是:ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build XXXXXXXXXXXX status: FAILURE那个 xxxx 部分是一些自动生成的 base64 值。
解决方法是:删除任务队列中的所有任务
问题:是否有解决方法或者我必须在部署之前删除任务队列中的所有任务(就像我所做的那样)?
详细信息:服务器是用 nodejs 编写的。
我怀疑当要删除的版本的任务需要清空任务队列时,可能是由在这种情况下发生的虚拟“队头阻塞”驱动的,从而影响项目中的其他服务/版本(任务队列在整个项目中共享),甚至可能是相关的 GAE 基础功能。
从根本上重写某个应用程序/服务版本有点违背了版本控制的全部目的(想象一下 git 允许您更改与某个 SHA 签名关联的提交/引用点的内容!)。但在某些情况下 - 例如当版本实际上用于实现特定的执行环境时 - 这是有意的。
您所描述的并不是 GAE 部署覆盖某个版本的应用程序/服务的唯一问题(顺便说一句,我以前没有想到这一点,谢谢您!)。另一种是在 Google App Engine 上的持续集成/部署/交付中捕获的,风险太大?。
如果您的版本重写部署实际上是尝试实现部署环境,您可能还想看看其他一些潜在的(恕我直言,更好)替代方案,与在GAE 项目/应用程序级别与服务实现 CI/CD 环境的优点相比/模块级别?
| 归档时间: |
|
| 查看次数: |
6395 次 |
| 最近记录: |