我想知道是否有任何方便的方法来自动化部署GO代码到生产服务器,可以使用标准内置的方法,或其他方式。
我需要类似于Google App Engine的功能,只需运行命令即可上传到服务器并触发重新启动。
(最终我希望Git提交可以触发重建和重新部署,但这是未来的计划)
我想知道是否有任何方便的方法来自动化部署GO代码到生产服务器,可以使用标准内置的方法,或其他方式。
我需要类似于Google App Engine的功能,只需运行命令即可上传到服务器并触发重新启动。
(最终我希望Git提交可以触发重建和重新部署,但这是未来的计划)
.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
Procfile
worker: your-app-binary
.go-dir
your-app-binary
Procfile和.go-dir是heroku的配置文件,因此如果您部署的是Web应用程序,则可能会有所不同,您可以在heroku文档中了解更多信息。
一个重要且容易被忽视的点是构建包,没有它,部署将无法正常工作。
阅读Travis文档以了解如何加密heroku密钥。
它是如何工作的?
基本上,对您的存储库进行的每次推送都会触发Travis CI构建,如果通过,则会将应用程序部署到heroku,因此您只需设置一次即可进行构建+部署;)
此外,Travis会自动构建并更新所有针对您存储库的拉取请求的状态。