版本控制Vagrant和Ansible虚拟框配置与Rails应用程序?

时间:2015-09-04 21:34:09

标签: ruby-on-rails version-control repository vagrant ansible

只需设置一个新的Rails应用程序,我就拥有了我的Vagrant文​​件以及一个装满Ansible的dev机器配置文件的文件夹。这些允许我启动一个开发虚拟机,配置它并让所有东西快速启动并运行。

我的问题是,是否应该在我的项目版本控制存储库中?我将在几台机器上处理这个项目,所以它可以访问并同步是有用的,但另一方面,当我最终将它部署到生产时,我不希望部署这些项目?此外,提交这些文件将保留它们的历史记录,这也很不错。

你会推荐什么?

2 个答案:

答案 0 :(得分:1)

这非常符合您的个人喜好。 有些人把所有东西都放在一个独立的回购中。其他人将应用程序代码保存在与其配置/配置/部署代码不同的repo中。 无论哪种方式都有其自身的优点和缺点,只要您保留在某个版本控制系统中,就没有错误。

答案 1 :(得分:1)

当我设置新项目时,我创建了一个目录结构:

/<application_name>
   ./src
   ./deployment
   ./docs

实际源代码在src,任何特定于部署的脚本(例如Ansible playbook dirs,Vagrant文​​件)都在deployment,当然任何文档都在docs

然后我将所有这些都提交给源代码控制。然后编写部署脚本以从其目录执行,但更改为src目录以执行其操作。