为Github构建Golang发布二进制文件

时间:2015-08-05 10:53:04

标签: github go

我正在寻找有关如何为Golang项目轻松构建常用平台二进制文件的想法,以便在Github上发布。

我已经知道如何使用Github在Creating Releases的说明手动执行发布。我目前正在使用aktau/github-release进行发布,但这需要手动登录到不同的计算机(OSX,Linux,Windows)并进行发布。

Benedikt Lang blogged关于使用Travis-CI(我还没有尝试过)。但我认为公共Travis只会为Linux构建二进制文件。

有什么建议吗?

3 个答案:

答案 0 :(得分:4)

您最有可能只在Travis CI中构建Linux,因为交叉编译需要您从源代码构建并构建其他可执行文件。像RoninDev建议的那样,我建议您按照博客文章设置自己的交叉编译构建环境:

http://dave.cheney.net/2012/09/08/an-introduction-to-cross-compilation-with-go

这很容易,只需要大约10分钟。完成之后,像Jenkins这样的构建工具将为您提供控件,以启动所需平台(Mac,Windows,Linux等)的构建,然后为每个平台推出git版本。

答案 1 :(得分:4)

感谢您提供的所有建议和答案。我正在寻找交叉编译,而Dave Cheney's blog post是一个良好的开端。

但是我找到了一个更好的解决方案 - laher/goxc - " Go的构建工具,重点是交叉编译,打包和部署"。它的灵感来自Dave Cheney的作品,还包括Github的部署工具 - 正是我所寻找的。 (例如,我用它来发布soniah/awsenv

答案 2 :(得分:2)

我创建了goreleaser来做到这一点。

如果您愿意,可以尝试:)