📌  相关文章
📜  如何将 Golang WebApp 部署到 Heroku?

📅  最后修改于: 2022-05-13 01:55:35.022000             🧑  作者: Mango

如何将 Golang WebApp 部署到 Heroku?

Go,也称为“Golang”,近年来在 DevOps 专业人士中越来越受欢迎。有许多用 Go 编写的工具,包括 Docker 和 Kubernetes,但它们也可以用于 Web 应用程序和 API。虽然Golang的执行速度与编译语言一样快,但在其中编码感觉更像是使用编译器、运行程序等标准工具进行解释,您将获得开箱即用的完整体验。
当您将其与旨在充分利用当今多核或多 CPU 执行系统的强大且易于理解的并发框架相结合时,Go 社区发展如此迅速的原因就很清楚了。看似简单的设计使 Go 易于学习和掌握,但它的功能不受限制,因为它是根据特定目标创建的。在本文中,我们将学习如何在 go 中制作一个简单的 Web 应用程序并将其部署到 Heroku 中,而不会有任何麻烦。

将 Golang 应用程序部署到 Heroku

第 1 步:注册 Heroku 帐户。如果您没有 Heroku 帐户,请立即创建一个。无需注册信用卡即可免费托管多达 5 个应用程序。

注册

第 2 步:下载并安装 Heroku 的命令行界面 (CLI)。使用 Heroku 的命令行界面 (CLI),您可以访问 Heroku 的服务。 Heroku 和 git 命令在安装后就可以从您的命令窗口中使用。

Heroku-CLI

第三步:登录访问Heroku。我们需要做的第一件事是为项目创建一个目录,然后在go mod init命令的帮助下将其初始化为一个Go模块。使用您在创建 Heroku 帐户时使用的电子邮件地址和密码登录:

Heroku-登录

第 4 步:创建项目目录。我们需要做的第一件事是为项目创建一个目录,然后使用 go mod init 命令将其初始化为 Go 模块。

建议您使用您的 GitHub 帐户用户名,以便您的项目名称是唯一的,并且您的项目依赖项不会相互冲突。这不是必要条件,您也可以使用任何您想要的名称。

为项目创建目录

现在,您应该在目录中看到一个名为 go.mod 的文件。这是 Go 用来跟踪其项目依赖项的文件。当您查看文件的内容时,它应该看起来像这样:

第 5 步:熟悉 Git。通过在 Windows 中启动命令提示符来打开命令 shell。您现在必须向 Git 表明自己的身份,以确保它可以在将来正确标记您的提交。我在下面使用 muthuannamalai12 和 muthuannamalai2002@gmail.com:

熟悉 Git

第 6 步:开发 Web 应用程序。在这一步中,我们准备了一个可以部署的简单 Go 应用程序。在文件夹 app 中编写程序 app.go,如下所示:

Go
package main
import (
   "github.com/gin-gonic/contrib/static"
   "github.com/gin-gonic/gin"
)
func main() {
   r := gin.Default()
   r.GET("/hello", func(c *gin.Context) {
       c.String(200, "Hello")
   })
   api := r.Group("/api")
   api.GET("/ping", func(c *gin.Context) {
       c.JSON(200, gin.H{
           "message": "ping",
       })
   })
   r.Use(static.Serve("/", static.LocalFile("./views", true)))
   r.Run()
}


第 7 步:使用 Git 部署我们的 Heroku 应用程序。要将您的应用程序部署到 Heroku,您需要将其存储在 Git 中。在同一文件夹中,即 $GOPATH/src/github.com/muthuannamalai12/app 类型:

Heroku-app-is-deployed-using-Git

第 8 步:设置 Procfile。通过在应用程序的根目录中创建 Procfile 来指定启动应用程序的命令。 Procfile 看起来像这样:

网络:应用程序

在此,声明了单个进程类型 web,以及启动它所需的命令。网络名称至关重要。这种进程类型将能够处理 Web 流量,因为它附加到 Heroku 的 HTTP 路由堆栈。

设置一个Procfile

第 9 步:下载并安装 Godep。 Heroku 建议使用 godep 来管理 Go 包的依赖关系,这使得通过修复依赖关系来更容易地构建应用程序的可重复性。现在让我们安装 Godep:

下载并安装 - Godep

第 10 步:声明应用程序的依赖关系。 Heroku 通过位于应用程序根目录的 Godeps 目录中的 Godeps.json 文件来识别 Go 应用程序。 Godeps/Godeps.json 文件用于声明您的应用程序包含哪些依赖项以及用于编译的 Go 版本。每当部署应用程序时,Heroku 都会读取此文件,安装正确的 Go 版本,并使用godep go install ./... 编译代码

在我们的项目中使用 godep。在创建的文件夹应用程序中键入以下命令

依赖项将保存到文件 Godeps/Godeps.json 中。

第 11 步:将新文件添加到 git

现在已经为 Heroku 部署做好了准备。

第 12 步:创建应用程序并进行部署。此步骤涉及创建应用程序并将其部署到 Heroku。 Heroku 应用程序的创建使 Heroku 准备好接受您的源代码。

创建应用程序时还会创建一个远程 git 存储库(称为 heroku)。在此示例中,Heroku 为您的应用程序生成名称 huge-reaches-34382,或者您可以指定您自己的名称作为参数。

创建应用并部署它

准备好后,使用git push heroku master 部署代码。您的应用程序现在已部署。要访问它,请转到应用名称生成的 URL。以下快捷方式打开该站点:

就是这样!您的 Go 应用程序现在正在 Heroku 上运行!