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

标签 linux windows git go

我有一个在 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/

相关文章:

linux - 为 linux 内核设置 cpu 亲和性,而不是进程

windows - Windows 的 'man' 程序(打开 UNIX 手册页的程序)在哪里?

windows - 如何确保 az kubectl 凭据不会过期并且 kubectl 可以通过生产中的脚本运行?

linux - 如何使用 AWK 合并两个文件?

linux - 安装 PopcornTime 时找不到 .install 命令

git - 如何使用 git 保存文件夹内容

git - git status : new file: "\302\250" 奇怪的新文件列表

git - 如何在不删除最新提交的情况下恢复到之前的提交?

java - 如何在windows上使用java执行linux命令?

c++ - winsock:使用 localhost (127.0.0.1) 时连接失败并出现错误 10049