Deployment 自动go应用程序部署

Deployment 自动go应用程序部署,deployment,go,Deployment,Go,我想知道是否有任何方便的方法可以自动将代码部署到GO中的实时服务器,无论是标准内置方法还是其他方法 我想要谷歌应用程序引擎之类的东西,我只要运行命令,它就会上传到服务器并触发重启 (最终我希望git提交触发重建和重新部署,但这是为了将来的发展)我推荐+ 只需一次git推送,就可以直接部署到heroku,但在此之前,我喜欢使用Travis构建和运行测试 网上有一些指南,但我将尝试直接切入要点: 你需要什么 Github帐户 Travis帐户(与github链接,如果开源,则免费) 空的应用程序(

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

我想要谷歌应用程序引擎之类的东西,我只要运行命令,它就会上传到服务器并触发重启

(最终我希望git提交触发重建和重新部署,但这是为了将来的发展)

我推荐+

只需一次git推送,就可以直接部署到heroku,但在此之前,我喜欢使用Travis构建和运行测试

网上有一些指南,但我将尝试直接切入要点:

你需要什么

  • Github帐户
  • Travis帐户(与github链接,如果开源,则免费)
  • 空的应用程序(免费dyno很好用)
设置

在github repo中,创建以下文件:

  • .travis.yml(有关
  • 程序文件
  • .直飞
然后转到您的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 
.go dir

your-app-binary
Procfile和.go dir是heroku配置的,因此如果您正在部署web应用程序,它可能会有所不同,您可以在

一个重要且容易忽略的要点是构建包,没有它,部署将无法工作

阅读Travis文档,了解如何

它是如何工作的?

基本上,每次推送到您的存储库都会触发Travis CI构建,如果它通过,它会将应用部署到heroku,因此您只需设置一次,构建+部署就可以了;)

Travis还将自动生成并更新对存储库的所有请求的状态


要查看我的配置和构建,请查看我的和我的工作配置

非常好的答案。有些额外的工具可能值得研究,.Heroku不支持GO。Travis CI每年为一家小型组织/初创公司支付129美元。@Jacob Heroku不专门支持,但它支持定制构建包,有一个非常好的包可供使用。此外,基于部署的简单性和“无麻烦”的解决方案,我建议您这样做。如果你想要一个免费的解决方案,有很多,当Go编译成一个二进制文件时,你可以自己编写。Go的好处是你不需要在接收端运行Git:这就不用担心版本控制,让你的服务器与你的开发环境保持同步(等等)。在本地git服务器上设置提交后钩子和/或使用Travis CI等CI系统(根据@Fabio Gomes的回答)运行测试,构建应用程序,并将二进制文件仅推送到服务器。停止现有的,开始新的,然后出发。无需安装/配置git服务器或在服务器上运行@elithrar是的,这是围棋最棒的地方之一。正如您所指出的,像Travis这样的大多数CI服务器都可以使用FTP进行部署,例如:如果您想部署到自定义服务器或vps,您只需要使用Travis来构建和部署二进制文件。
your-app-binary