我正在用 Go 编写一些新的 Web 服务。无论目标平台如何,我都可以使用哪些部署策略?例如,我在 Mac 上进行开发,但临时/生产服务器将运行 Linux。我可以使用一些支持 Go 的现有部署工具吗?如果没有,我可以做些什么来简化流程?我使用 LiteIDE 进行开发。有没有办法将 LiteIDE 挂接到部署过程中?
3 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
不幸的是,由于 Go 是一种如此年轻的语言,所以还没有多少存在,或者至少很难找到它们。我也对为 Go 开发此类工具感兴趣。
我发现有些人一直在自己做,或者他们已经调整了其他工具,例如 Capistrano来为他们做。
很可能这是你必须自己做的事情。而且您不必将自己限制在 shell 脚本中 - 在 Go 中完成!事实上,许多 Go 工具都是用 Go 编写的。您应该避免在目标系统上编译,因为在生产系统上使用构建工具通常是一种不好的做法。Go 使得交叉编译二进制文件变得非常容易。例如,这是为 ARM 和 Linux 编译的方式:
GOARCH=arm GOOS=linux go build myapp
您可以做的一件事是跳上#go-nuts freenode IRC 频道或加入Go 邮件列表并询问其他 Gophers 他们在做什么。
ibeautiful
TA贡献1993条经验 获得超5个赞
Capistrano 听起来是一个单独部署的好主意。您也可以按照 Luke 的建议进行交叉编译。两者都可以正常工作。
更普遍的是......我也在 OS X(开发)和 Linux(部署)之间徘徊,事实上我只是通过 VirtualBox 和 Vagrant 在虚拟机中进行开发。我正在使用 TextMate 2 进行文本编辑,但在 Mac 上安装许多开发工具只是一个主要的 PITA,我更愿意让 Debian 或类似软件在后台运行。好处是 - 这个虚拟环境可以镜像部署环境,所以我可以在部署代码时避免意外,无论是什么语言。
- 3 回答
- 0 关注
- 214 浏览
添加回答
举报
0/150
提交
取消