gpt4 book ai didi

deployment - 自动化 go 应用程序部署

转载 作者:IT王子 更新时间:2023-10-29 00:42:35 26 4
gpt4 key购买 nike

我想知道是否有任何方便的方法可以在 GO 中自动将代码部署到实时服务器,无论是标准的内置方法还是其他方法。

我想要类似 google app engine 的东西,我只需运行命令,它就会上传到服务器并触发重启。

(最终我想要一个 git commit 来触发重建和重新部署,但那是为了将来的发展)

最佳答案

我推荐Travis CI + Heroku .

您可以直接使用 git push 部署到 heroku,但我喜欢在此之前使用 Travis 构建和运行测试。

网上有一些指南,但我会尽量直截了当:

你需要什么?

  • Github 账号
  • Travis 账号(链接到 github,如果开源则免费)
  • Heroku应用程序(免费测功机效果很好)

设置

在您的 github 存储库中,创建以下文件:

之后转到您的 Travis 帐户,添加您的存储库并为其启用构建。

这是一个示例最小配置文件内容(基于我部署到 heroku 的应用程序):

.travis.yml

language: go
go:
- tip
deploy:
provider: heroku
buildpack: https://github.com/kr/heroku-buildpack-go.git
api_key:
secure: <your heroku api key encripted with travis encrypt>
on: master

配置文件

worker: your-app-binary

.go-目录

your-app-binary

Procfile 和 .go-dir 是 heroku 配置,因此如果您正在部署网络应用程序,它可能会有所不同,您可以在 heroku documentation 阅读更多信息

build pack 是一个重要且容易被忽略的要点,没有它,部署将无法进行。

阅读 Travis 文档以了解如何 encrypt the heroku key

它是如何工作的?

基本上,每次推送到您的存储库都会触发 Travis CI 构建,如果它通过,它将把应用程序部署到 heroku,所以您设置一次,构建 + 部署只是一个推送;)

Travis 还将自动构建所有合并请求的状态并将其更新到您的存储库。

要查看我的配置和构建,请查看我的 Travis buildmy repository使用我的工作配置

关于deployment - 自动化 go 应用程序部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23841193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com