Symfony2 - 有效管理多个版本的捆绑包

时间:2014-12-10 17:19:26

标签: git symfony bundles

我和我的团队正在开发一个管理多个应用程序的Symfony2的后台办公室。现在我们只有一个应用程序,但在不久的将来,我们应该能够管理很多应用程序。

我们决定在一个单独的包中开发每个组件(也就是app)。

我们想要的是能够部署整个symfony2项目而不必担心(太多)组件之间的副作用。

理想情况下,我们希望在部署整个项目时能够部署version X组件Aversion Y组件B

为了做到这一点,我们探讨了以下选项:

  • 1)捆绑包是git子模块
  • 2)捆绑包位于单独的存储库中,并在项目的主composer.json中进行管理

第一个似乎是合法的,但我不确定这是一个好习惯:你怎么看?

第二个看起来处理依赖关系(和版本控制)的正确方法,但在生产力方面非常糟糕,因为我们必须推送最新版本的bundle存储库,然后更新composer,最后才能测试bundle in主要项目。

我知道这是一个悬而未决的问题,但我想要的是对这种情况下的良好做法的一些反馈。

1 个答案:

答案 0 :(得分:1)

Git子模块很烦人,因为需要大量的微观管理来保持更新。我选择了2。

安装时,您可以使用--prefer-source标志大幅改善您的工作流程

composer install --prefer-source

这将通过将其存储库克隆到供应商目录来安装您的依赖项。然后,您可以处理组件并直接从项目中 提交

# You can make modifications to your component here
cd vendor/vendorName/componentA
git commit # Commit to your changes to the component repository