我在appengine上使用nodejs。 星期二我们有一个非常稳定的应用脚手架,到了星期五,尝试部署后它完全被打破了。 我们对前端代码做了一些小的改动,但是我认为没有什么会阻止实例的旋转。
这里是重现的步骤。
gcloud --project "{appname}" preview app deploy
日志显示npm安装,容器构build等
挂起Updating service [default]... 5分钟
失败,错误。
错误:(gcloud.preview.app.deploy)错误响应:[13]启动虚拟机时超时。 应用程序代码可能是不健康的。 (准备好0/1,仍然在部署1)。
我已经尝试恢复存储库,当我们有稳定的部署,并没有帮助。 这让我觉得GCP上的东西坏了。
我试图删除所有当前版本,然后部署,但无济于事。
当你得到这个错误时,你可以看看云控制台日志查看器 (日志logging – >日志)中的crash.log以获得特定的服务/版本,通常会告诉你发生了什么事情。 在我的情况下,当我再现相同的错误,crash.log显示我的NPM的输出告诉我我有一个'SyntaxError:意外的标识符'。
当然,YMMV,但是这可以告诉你,如果问题是关系到你的应用程序代码,或者是有什么更邪恶的事情发生。
检查以确保你的package.json有这个部分
"cloud-repo-tools": { "test": { "app": { "msg": "Hello, world!" } }, "requiresKeyFile": true, "requiresProjectId": true }
“msg”部分包含健康检查可以查找的一些string。 一直没有find这方面的文件,所以如果任何其他人,我很想看到它。