如何将Go程序从Windows部署到CentOS服务器

时间:2014-09-21 08:50:51

标签: linux windows git go

我在Windows上运行Go程序包并且工作正常但现在我正处于我想在生产的CentOS 6.5服务器上测试它的阶段。

将此部署从Windows部署到CentOS的最佳做法是什么?

我是否必须使用我的Git repo分发到Linux操作系统,编译然后将二进制文件部署到服务器?

另外我有多个文件,所以我想go build *.go就足够了,或者有更好的选择进行编译?

1 个答案:

答案 0 :(得分:1)

  

将此部署从Windows部署到CentOS的最佳做法是什么?

就最佳实践而言,我建议使用持续集成。你可以设置jenkins,或者有一些云选项:codeship.io,travis-ci.org,drone.io,wercker.com,......其中一些有免费的计划。

基本上你将你的代码提交给git并将其推送到Github(或者如果你想要免费的私人回购那么推送到Bitbucket)。每当您推出更改时,将通知持续集成服务器,并将构建,测试和创建项目的发布tar存档。然后,您可以将此结果tar下载到CentOS框中。在6.5中,您需要创建一个init.d脚本来保持程序正常运行。您可以看到示例here(系统v脚本)。

CentoOS 7现在使用systemd,稍微容易设置。

更进一步,还可以设置连续部署,其中下载,提取和安装也可以自动化。根据您的项目,设置持续部署可能有意义也可能没有意义。 (自动推送到制作可能有点太自动了)你可以在wercker here中找到一个例子。

虽然如果这是一个其他人也会做出贡献的项目,或者你打算长期合作的项目,那么设置持续集成会有前期成本,但成本肯定是值得的。 (未来6个月后你回到这个项目,改变1行代码,并且不必记住部署所需的所有手动步骤,你将会很高兴)