【发布时间】:2014-09-25 03:22:15
【问题描述】:
在过去的几个月里,我已经熟悉了与 Node.js 相关的 AWS OpsWorks 部署过程 - Go 的部署似乎是另一种动物。
根据我收集到的信息,这是我编译成功的 Go 部署所需要的:
- 在 EC2 盒子上安装 go
- 从 GitHub 拉取私有仓库
- 拉入所有依赖项
- 编译盒子拱门的主包
- 使用我使用的几个标志启动二进制文件
我读过的所有地方似乎都在吹捧 Go 部署的简易性,因为依赖项包含在二进制文件中,但这似乎意味着您正在开发环境中编译应用程序并将其推送到云端。这似乎不是一个适用于整个开发团队的流程。
https://github.com/crowdmob/chef-golang-web-server-cookbook
我一直试图让 CrowdMob 的 Chef Scripts 工作,但无济于事。我继续收到如下所示的错误:
[2014-08-01T16:08:22+00:00] WARN: Cookbook 'templates' is empty or entirely chefignored at /opt/aws/opsworks/current/merged-cookbooks/templates
部署期间处理依赖关系的正确方法是什么?
是否有任何将 Go 与 Chef 一起部署到 AWS 的既定做法?
【问题讨论】:
-
仅部署二进制文件(而不是在服务器上构建)的哪一部分似乎不适用于团队? Push ,提交后挂钩构建,然后使用 Chef/whatever 将二进制文件推出。或者将其推送到 S3 并让服务器将其拉下。
标签: deployment go cloud chef-infra aws-opsworks