【发布时间】:2014-06-16 22:02:42
【问题描述】:
我想要一个使用 Vagrant 配置和配置的完全配置的 ruby unix 开发环境。理想情况下,它将引用一个简单的基础框(例如,precision32)并通过配置构建环境,以便其他团队成员可以轻松地重复它,可以发布到 github,并且可以升级为新版本只需更改配置即可使用不同的技术。尽管 [Rails Dev Box][1] 有一些有用的想法,但我还没有找到任何关于此搜索的完整示例。大多数开发环境示例(如 Rails Dev Box)并没有设置来宾开发环境,因为他们假设开发将使用共享文件策略在主机上完成 - 或者如果他们手动进行配置然后保存盒子而不是而不是配置它。
这也需要在代理后面和没有代理的情况下工作。
以下是我认为需要的步骤:
在主机上:
- 安装 virtualbox、vagrant、vagrant proxyconf
在客户机上,通过 Vagrantfile/provisioning:
使用基本的 unix 框(例如,precision32)
可选设置代理变量(如果安装了 proxyconf 插件并设置了 http_proxy env var)
- 提供其他所有内容(puppet、chef 或 shell 脚本)
- 安装各种unix工具(apt-get install git, etc.expo ...)
- 设置 bash 环境
- 设置 vim 环境(病原体插件、ruby 插件等)
- 安装 rvm
- 安装 ruby 1.9、2.0、JRuby、Rubinius
- 安装和配置 tmux
理想情况下,我可以将它推送到 github,它可以被克隆,然后 cd 到新目录,vagrant up 拥有一个完全配置的开发环境......
有没有人有这样做的例子?
【问题讨论】:
-
有一项服务,[Rove][rove.io],看起来很有希望。您选择功能,我上面的大部分内容,它将为您生成一个 Vagrantfile 和一个 Cheffile,您将它们复制到您的目标目录。要使用 Cheffile,您必须安装 librarian-chef gem,然后在该目录中运行 librarian-chef 以将您需要的食谱复制到 cookbook 子目录中。然后,从概念上讲,您可以运行
vagrant up并立即获得配置并运行的虚拟机。到目前为止,不幸的是我在 Windows 上没有成功(错误配置)。 -
另一个与 Rove 类似的服务(基于 Puppet 而不是 Chef)是 PuPHPet,“为 Web 开发设置虚拟机的简单 GUI。”它看起来不错,但似乎还不支持 Ruby(目前只有 PHP 和 HHVM)。
-
另一个看起来很有前途的开发环境创建者是 [图][fig.sh/rails.html],它利用 Docker 创建开发环境。 Fig 被 Docker 收购了,所以在不久的将来会有好事发生。
标签: vagrant