将Go app部署到Google App Engine时出现问题

时间:2020-05-19 16:25:04

标签: go google-app-engine google-cloud-platform google-app-engine-go

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

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

500 error

当尝试访问该应用程序时。

我也无法进行任何本地开发,因为每次运行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.gomodelsrouter是3个不同的程序包):

structure

我是Go开发的新手,从未将Go应用程序部署到GCP,因此感到很迷失,不胜感激。

1 个答案:

答案 0 :(得分:0)

我尝试在应用引擎中部署go应用程序,并在本地运行它,并且都可以正常工作。

我用过 this application 在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预览,并且按预期运行。

有关部署的更多信息,您可以检查此documentation