为了账号安全,请及时绑定邮箱和手机立即绑定

如果 go.mod 在不同的目录中,gcloud app deploy 找不到 app.yaml

如果 go.mod 在不同的目录中,gcloud app deploy 找不到 app.yaml

Go
慕雪6442864 2022-10-24 17:03:12
我已经有一个星期无法将我的 Go 应用程序部署到 Google App Engine Flexible,尽管我不记得更改任何相关内容。go.mod 和 go.sum 文件位于顶层目录,而 app.yaml 位于./cmd/app/.错误信息gcloud app deploy:Services to deploy:descriptor:                  [/Users/me/go/src/github.com/me/project/cmd/app/app.yaml]source:                      [/Users/me/go/src/github.com/me/project/cmd/app]target project:              [project-us-central1]target service:              [default]target version:              [20220118t234216]target url:                  [https://project-us-central1.uc.r.appspot.com]target service account:      [App Engine default service account]Do you want to continue (Y/n)?  Beginning deployment of service [default]...ERROR: (gcloud.app.deploy) Required file is not uploaded: [app.yaml]. This file should not be added to an ignore list (https://cloud.google.com/sdk/gcloud/reference/topic/gcloudignore)(当然,app.yaml 从未出现在忽略列表中。)我尝试了以下方法:添加!app.yaml到.gcloudignore 文件删除.gcloudignore文件gcloud config set gcloudignore/enabled false等到新版本gcloud发布 (Google Cloud SKD 368.0.0)。请注意,这既发生在我现有的 Go 应用程序上,该应用程序在过去几年(最后一次是 2021 年 11 月)成功部署了很多次,也发生在同一目录结构下新创建的简单 Web 服务器应用程序上。但是,如果我创建一个没有 Go 模块(go.mod、so.sum)的简单应用程序,则gcloud app deploy可以按预期工作。
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞


我刚刚在发布此问题时找到了解决方法。最初,这似乎有效:


gcloud app deploy --appyaml=app.yaml

但是,大约 30 分钟后,部署总是失败并出现以下错误:


Updating service [default] (this may take several minutes)...failed.                                                                                  

ERROR: (gcloud.app.deploy) Error Response: [13] The system encountered a fatal error

部署的版本似乎正在运行,但它会为任何请求返回 HTTP 404。在控制台中停止并重新启动该版本后,它仍然无法正常工作:它主要返回 HTTP 502,有时返回 HTTP 503 和“服务错误 -27”。我可以在日志中看到 /readiness_check 调用都以 503 失败,failReason:"null"


查看完整回答
反对 回复 2022-10-24
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

经过一番挣扎后发现问题在于该文件与and文件./cmd/app/app.yaml不在同一目录中。./go.mod./go.sum

我的解决方法是go.mod在调用之前临时重命名gcloud app deploy,然后在部署完成后将其移回。这样,一切都会再次正常运行。


查看完整回答
反对 回复 2022-10-24
?
桃花长相依

TA贡献1860条经验 获得超8个赞

我的解决方法是将 go.mod 和 go.sum 复制到运行 gcloud app deploy 命令的工作目录。这对我有用。



查看完整回答
反对 回复 2022-10-24
  • 3 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号