流浪者项目是否应该有自己的仓库

流浪者项目是否应该有自己的仓库

我一直在使用 Vagrant,我发现它非常棒,但我想知道它的最佳或最常见的用途是什么

我认为有两种使用方法:第一种是创建一种主存储库,其中包含该组织开发环境的 Vagrant 信息和 Puppet 脚本。这样做的好处是可以有多个存储库以通用方式使用它。

第二种方法是为每个项目创建一个 vagrantfile,以反映该特定项目。

第二种似乎是我尝试构建事物的方式,但我想知道这种方法是否存在缺陷。

答案1

这个问题有点牵强,但我真的很讨厌人们在谈论某个话题时含糊其辞,试图表现得非常聪明,所以我会试着写出我的计划,并附上一些想法。这真的取决于你是在处理多种不同类型的服务器,还是只处理一种类型的服务器。此外,如果你因为某种原因而摆弄配置,这可能会增加对每个项目的需求。

对我来说?我喜欢模板中的东西:代码、生活、预算、购物清单、煎锅等。我是一名工程师,我喜欢抽象和通用的东西,可以重复使用和扩展。所以对于 vagrant,我想要一个主要的 vagrant 项目仓库,其中包含我喜欢的配置工具(puppet)。我会根据每个项目的需要,使用不同版本的抽象和通用工具。如果我的公司有数百个 wordpress 网站,我会设置一个默认设置,启动一个服务器并安装最新(或 x)版本的 wordpress,对于其他非稀有项目(Symfony、RoR、Laravel、node)也类似。

当启动一个新项目时,你需要为你的项目初始化新的 repo,然后添加子模块找到最符合您需求的通用 vagrant 项目。然后,开发人员可以编辑 vagrant 子模块,并且不推送更改,或者如果更改足够大而需要更新,则推送更改。

我会确保需要更新 vagrant repo 的开发人员通过创建新分支来更新。我会在 vagrant repo 上设置 git hook,通知主要开发人员变更,这样他们就可以审查并确定进一步抽象项目的必要步骤。我们可以根据这个特定项目的变更创建一个新的 vagrant repo 吗?这足够重要吗?

此流程应确保我们可以控制我们的 git 历史记录,以便将来进行审查项目以确定其“基本” vagrant 设置,使我们能够轻松更新和纠正基本 vagrant 项目中存在的任何错误,并允许所有项目能够轻松更新其 vagrant 子模块而不会影响其项目代码。

不管怎样,这就是我的想法,如果我有时间的话,我打算怎么做。

相关内容