首页 > 解决方案 > symfony 隔离包可以让每个团队在其单独的包中工作

问题描述

我有一个用 symfony3 编写的巨大 api,有几个包(所有包都包含在同一个 git 存储库中),我们有多个团队为自己的包工作,我的问题是:我们有一个 env 分支,所以,如果开发人员在 dev 分支上工作,尽管所有其他团队都使用同一个分支,但他无法在 prod 分支上集成自己的代码,因为其他人所做的所有其他更改也可能会注入到 prod 上,这是非常复杂的管理情况。那么如何拆分我的应用程序以使每个团队都可以在没有如此复杂的程序的情况下在分支 env 上提交/推送自己的工作?在这种情况下使用的最佳架构是什么,如何使用 symfony 将每个捆绑包与其他捆绑包隔离?或者如果你已经经历过同样的事情,你会推荐什么?知道我的 devops 平台是基于 wercker CI 的,它构建了一个包含所有 symfony 包的大型镜像 docker,并将其部署到 amazon ecs。

标签: symfonygithubdevopssoftware-designsoftware-distribution

解决方案


我建议使用微服务架构,每个包都必须是一个单独的项目,这样您的团队可以将他们的代码推送到单独的 git repo 上,而不需要有一个大项目,每个人都将他的更改提交到同一个开发分支,这意味着每个 PR 可以包含所有其他开发人员的更改。微服务可以成为解决方案,作为一种架构安装起来非常昂贵,但我认为这是此类项目的最佳解决方案。


推荐阅读