一天又一天,我突然不能再将我的GoLang项目部署到AppEngine上.我在日志(log)中收到以下错误消息:

Step #2 - "build": Status: Downloaded newer image for eu.gcr.io/gae-runtimes/buildpacks/google-gae-18/go/builder:go_20230305_RC00
Step #2 - "build": eu.gcr.io/gae-runtimes/buildpacks/google-gae-18/go/builder:go_20230305_RC00
Step #2 - "build": ===> ANALYZING
Step #2 - "build": ERROR: failed to initialize analyzer: getting previous image: getting config file for image "eu.gcr.io/staticform/app-engine-tmp/app/www/ttl-18h:latest": GET https://storage.googleapis.com/eu.artifacts.staticform.appspot.com/containers/images/sha256:af3ff480dc0053108a52bf8b7ec3e45893e4e97c507102ff524b07bc01e03249?access_token=REDACTED: unexpected status code 404 Not Found: <?xml version='1.0' encoding='UTF-8'?><Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Details>No such object: eu.artifacts.staticform.appspot.com/containers/images/sha256:af3ff480dc0053108a52bf8b7ec3e45893e4e97c507102ff524b07bc01e03249</Details></Error>
Finished Step #2 - "build"
ERROR
ERROR: build step 2 "eu.gcr.io/gae-runtimes/buildpacks/google-gae-18/go/builder:go_20230305_RC00" failed: step exited with non-zero status: 1

起初,我以为Go 1.11最终被停用了,但改为1.19并没有解决问题.使用新的服务名称部署似乎可行,但更新现有服务就不行了.即使我更改了服务版本.

我用我的两个GoLang项目对其进行了测试(其中一个没有任何更改).我的Java项目部署得很好.

以下是我要部署的命令:

gcloud app deploy --project=staticform --version=1 app.yaml

Update:

以下是我的app.yaml条:

runtime: go111
automatic_scaling:
  min_idle_instances: 0
  max_instances: 1

handlers:
  - url: /.*
    script: auto
    secure: always
  - url: /admin/.*
    script: auto
    secure: always
    login: admin

推荐答案

事实证明,我所需要的只是--no-cache个选项.我不知道为什么,我也不在乎.;)

因此,使用此命令部署是成功的:

gcloud app deploy --project=staticform --version=1 --no-cache app.yaml

Go相关问答推荐

try 用GitHub操作中的release标签更新version. go文件,但失败了

追加一个字节数组的分配比2个字节数组的分配要少得多

Kafka消费者在需要时不会暂停

GO错误:Tim.Time未实现driver.Valuer(缺少方法值)

如果values.yaml文件中不存在某个属性,如何返回默认的FALSE?

通过渠道和goroutines增值1000倍

如何用';贪婪原则';正确地

Go Gin:验证 base64

Go Programming Language书上的例子server2错了吗?

在 .go 文件中运行一个函数和在 Go 模板中调用它有什么区别?

在反向 GORM 中创建查询有一个关系

确保 Go 1.20 编译时的严格可比性?

如何使用 fyne Go 使用 canvas.NewText() 使文本可滚动

如何根据 Go 中第二次出现的分隔符拆分字符串?

在 Go 中发送 ack 和 term 后消息仍在 nats 限制队列中

panic :拨号 tcp:在 172.22.64.1:53 上查找 bookstoreDB:没有这样的主机

通用函数与外部包中的常见成员一起处理不同的 struct ?

如何从 tinygo webassembly 目标返回对象

Gorilla/Mux 和 Websocket 竞赛条件,这安全吗?

在 Go 中表达函数的更好方法( struct 方法)