跳到主要内容

将 Fiber 部署到带有 Firebase 的 Google Cloud

Github StackBlitz

关于如何在 Google Cloud 上使用 Fiber 运行应用程序并连接到 Firebase Realtime Database 的示例。

在本地运行

  • 在命令行运行
go run cmd/main.go

使用 Google Cloud Run 部署

此步骤将构建一个 Docker 镜像,发布到 Google Cloud Registry 并在 Cloud Run Managed 环境中部署。

只需按照步骤操作,并将 GCP_PROJECT 变量填充为您的 Google Cloud Platform 项目 ID。连接到 Firebase 需要此变量。

Run on Google Cloud

在 Cloud Run 上部署服务器后,您可以在 GCP 控制台(链接)中获取其 URL,并选择我们刚刚部署的服务 gcloud-fiber-firebase。然后复制 URL。它看起来像 https://{project-id}-{some-random-hash-string}.a.run.app

或者您可以按照这些步骤手动完成

  • 在命令行运行
export GCLOUD_PROJECT=[YOUR_PROJECT_ID]
gcloud builds submit — -tag gcr.io/$GCLOUD_PROJECT/gcloud-fiber-firebase .
gcloud beta run deploy --platform managed --image gcr.io/$GCLOUD_PROJECT/gcloud-fiber-firebase \
--set-env-vars GCP_PROJECT=$GCLOUD_PROJECT

使用 Google App Engine 部署

此步骤会将应用程序部署到 Google App Engine 标准版 Go 环境。应用程序配置和其他配置可以在 app.yaml 文件中进行调整。

  • 在命令行运行
gcloud app deploy

使用 Google Cloud Function 部署

此步骤将使用 Go 环境部署一个 HTTP Cloud Function。您可以使用 deploy.sh 脚本。只需在其中编辑您的项目 ID。

对于 Cloud Functions 环境,Google 强制要求我们部署一个 http.HandlerFunc 函数,因此在 functions.go 文件中有一个变通方法,用于将 HTTP 调用重定向到 Fiber 应用程序实例。

  • 在命令行运行
gcloud functions deploy HeroesAPI --runtime go111 --trigger-http