我有一个在 Windows 上运行的 Go 软件包并且运行良好,但现在我想在生产 CentOS 6.5 服务器上测试它。
将其从 Windows 部署到 CentOS 的最佳做法是什么?
我是否必须使用我的 Git 存储库分发到 Linux 操作系统,编译然后将二进制文件部署到服务器?
我还有多个文件,所以我想 go build *.go
就足够了,还是有更好的编译选项?
最佳答案
What is the best practice to deploy this from Windows to CentOS?
就最佳实践而言,我建议使用持续集成。您可以设置 jenkins,或者那里有一些云选项:codeship.io、travis-ci.org、drone.io、wercker.com,...其中一些提供免费计划。
基本上,您会将代码提交到 git,然后将其推送到 Github(如果您想要免费的私有(private)存储库,则可以推送到 Bitbucket)。每当您推出更改时,持续集成服务器都会收到通知,并将构建、测试和创建项目的发布 tar 存档。然后你可以把这个生成的 tar 下载到你的 CentOS 机器上。在 6.5 中,您需要创建一个 init.d 脚本来保持您的程序正常运行。你可以看一个例子 here (系统 v 脚本)。
CentoOS 7 现在使用 systemd,这会更容易设置。
更进一步,还可以设置连续部署,其中下载、提取和安装也可以自动化。根据您的项目,设置持续部署可能有意义也可能没有意义。 (自动推送到生产环境可能有点过于自动化)您可以在 wercker here 中找到示例.
虽然如果这是一个其他人也会贡献的项目,或者您打算长期从事的项目,那么设置持续集成会产生前期成本,但这笔成本绝对是值得的。 ( future ,当你从现在起 6 个月后回到这个项目,更改 1 行代码,并且不必记住部署所需的所有手动步骤时,你会很高兴)
关于linux - 如何从Windows部署Go程序到CentOS服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25957481/