1

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

我们决定在单独的包中开发每个组件(也称为应用程序)。

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

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

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

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

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

第二个看起来是处理依赖项(和版本控制)的正确方法,但在生产力方面非常糟糕,因为我们必须推送捆绑存储库的最后一个版本,然后更新作曲家,最后才能在主项目中测试捆绑包.

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

4

1 回答 1

1

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

您可以通过在安装时使用标志来极大地改进 Composer 的工作流程。--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
于 2014-12-10T20:18:05.983 回答