我开发了我的第一个Go应用程序,并决定将其部署到Google Cloud(App Engine)。它在本地运行得很好,但是在部署过程中遇到了一些问题(我正在使用Cloud SDK)。
我最终达到了可以将其成功部署到GCP的地步,但是我不断得到
当尝试访问该应用程序时。
我也无法进行任何本地开发,因为每次运行go run main.go
,go get -u
,go 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
,models
和router
是3个不同的程序包):
我是Go开发的新手,从未将Go应用程序部署到GCP,因此感到很迷失,不胜感激。
答案 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。