0

我开发了我的第一个 Go 应用程序并决定将其部署到 Google Cloud(App Engine)。它在本地运行得非常好,但我在部署过程中遇到了一些问题(我使用的是 Cloud SDK)。

我最终达到了能够成功将其部署到 GCP 的地步,但我不断得到

500 错误

尝试访问该应用程序时。

我也无法进行任何本地开发,因为每次运行go run main.gogo get -ugo build我都会得到:

go: finding module for package github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql
go: found github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql in github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20200513164142-a9864b03c326
go: github.com/GoogleCloudPlatform/cloudsql-proxy@v0.0.0-20200513164142-a9864b03c326 requires
        cloud.google.com/go@v0.56.0 requires
        cloud.google.com/go/bigquery@v1.4.0 requires
        cloud.google.com/go@v0.52.0 requires
        cloud.google.com/go/bigquery@v1.0.1/go.mod: verifying module: cloud.google.com/go/bigquery@v1.0.1/go.mod: cannot authenticate record data in server response

我的go.mod文件如下所示:

module swanson

go 1.14

require github.com/gorilla/mux v1.7.4

这是我的应用程序的结构(main.go、、modelsrouter是 3 个不同的包):

结构体

我是 Go 开发的新手,从未将 Go 应用程序部署到 GCP,所以感觉很迷茫,非常感谢任何帮助。

4

1 回答 1

0

我曾尝试在应用程序引擎中部署一个 go 应用程序并在本地运行它并且两者都有效。

我 在 github 中使用了这个应用程序,您可以使用以下命令克隆它:

git clone https://github.com/GoogleCloudPlatform/golang-samples

我用于在本地运行应用程序的命令是:

go run helloworld.go

该命令返回以下消息:

2020/05/22 11:34:16 Defaulting to port 8080
2020/05/22 11:34:16 Listening on port 8080

然后在 Cloud Shell 中,我在端口 8080 中打开了 Web 预览,它按预期工作。

有关部署的更多信息,您可以查看此文档

于 2020-05-22T09:46:35.623 回答