symfony - symfony 隔离包可以让每个团队在其单独的包中工作
问题描述
我有一个用 symfony3 编写的巨大 api,有几个包(所有包都包含在同一个 git 存储库中),我们有多个团队为自己的包工作,我的问题是:我们有一个 env 分支,所以,如果开发人员在 dev 分支上工作,尽管所有其他团队都使用同一个分支,但他无法在 prod 分支上集成自己的代码,因为其他人所做的所有其他更改也可能会注入到 prod 上,这是非常复杂的管理情况。那么如何拆分我的应用程序以使每个团队都可以在没有如此复杂的程序的情况下在分支 env 上提交/推送自己的工作?在这种情况下使用的最佳架构是什么,如何使用 symfony 将每个捆绑包与其他捆绑包隔离?或者如果你已经经历过同样的事情,你会推荐什么?知道我的 devops 平台是基于 wercker CI 的,它构建了一个包含所有 symfony 包的大型镜像 docker,并将其部署到 amazon ecs。
解决方案
我建议使用微服务架构,每个包都必须是一个单独的项目,这样您的团队可以将他们的代码推送到单独的 git repo 上,而不需要有一个大项目,每个人都将他的更改提交到同一个开发分支,这意味着每个 PR 可以包含所有其他开发人员的更改。微服务可以成为解决方案,作为一种架构安装起来非常昂贵,但我认为这是此类项目的最佳解决方案。
推荐阅读
- json - 在 RestClient Low Level Rest API 客户端中翻译匹配特定字段 Elasticsearch Query
- postgresql - 在 postgresql 中调用 curval + 10 的 setval 是否安全?
- spring - 如何使用 @EnableCache 、多个 CacheManagers 和自定义缓存解析器
- flutter - 如何从 StreamBuilder 中访问快照?
- javascript - 将javascript参数字传递给自定义函数
- python - Google ReCaptcha 3 总是返回 0.9 的分数
- php - 如何在php中用星号替换手机号码,除了最后4位数字
- javascript - 如何在多个 Dropzone 上显示来自服务器的文件
- amazon-web-services - 如何在不使用 AD SAML 2.0 的 aws cognito 中的托管 ui 的情况下获取 jwt 令牌
- flutter - 升级到 Flutter 1.7.8+hotfix.3 时无法编译