我有一个可以在Windows上运行的Go软件包,并且运行良好,但是现在我要在生产CentOS 6.5服务器上进行测试。
从Windows部署到CentOS的最佳实践是什么?
我需要使用我的Git存储库分发到Linux操作系统,然后编译然后将二进制文件部署到服务器吗?
另外我有多个文件,因此我可以想象go build *.go
是否足够,或者有更好的编译选项?
从Windows部署到CentOS的最佳实践是什么?
就最佳实践而言,我建议使用持续集成。您可以设置jenkins,或者那里有一些云选项:codeship.io,travis-ci.org,drone.io,wercker.com,...其中有些有免费计划。
基本上,您会将代码提交到git并将其推送到Github(如果需要免费的私有存储库,则可以推送到Bitbucket)。每当您推出更改时,连续集成服务器都会收到通知,并将构建,测试和创建项目的发行tar存档。然后,您可以将生成的tar下载到CentOS框中。在6.5中,您需要创建一个init.d脚本来保持程序的正常运行。您可以在此处看到一个示例(系统v脚本)。
CentoOS 7现在使用systemd,它的设置会稍微容易一些。
更进一步,还可以设置持续部署,其中下载,提取和安装也可以自动化。根据您的项目,设置连续部署可能有意义,也可能没有意义。(自动推到生产可能有点过于自动),你可以在wercker的例子在这里。
尽管如果这也是其他人也会贡献的项目,或者您打算长期从事的项目,则建立持续集成会付出前期成本,但这样做绝对值得。(将来,当您从六个月后回到这个项目,更改一行代码,并且不必记住部署时所执行的所有手动步骤时,您将非常高兴。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句