我和我的团队正在开发一个管理多个应用程序的Symfony2的后台办公室。现在我们只有一个应用程序,但在不久的将来,我们应该能够管理很多应用程序。
我们决定在一个单独的包中开发每个组件(也就是app)。
我们想要的是能够部署整个symfony2项目而不必担心(太多)组件之间的副作用。
理想情况下,我们希望在部署整个项目时能够部署version X
组件A
和version Y
组件B
为了做到这一点,我们探讨了以下选项:
composer.json
中进行管理第一个似乎是合法的,但我不确定这是一个好习惯:你怎么看?
第二个看起来处理依赖关系(和版本控制)的正确方法,但在生产力方面非常糟糕,因为我们必须推送最新版本的bundle存储库,然后更新composer,最后才能测试bundle in主要项目。
我知道这是一个悬而未决的问题,但我想要的是对这种情况下的良好做法的一些反馈。
答案 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