作者:风nds | 来源:互联网 | 2023-05-27 12:43
我正在考虑微服务架构,并想知道人们是否有一个良好的开发环境最佳实践.
我的工作假设是每个微服务都将存在于它自己的git存储库中,以实现隔离和易于部署.我还假设每个开发人员都会创建他们正在处理的任何仓库的分支.
我正在考虑的问题出现在你正在处理涉及多个微服务的问题上.例如,存在影响一个微服务的缺陷以及它如何适当地消耗另一个微服务.
假设n个项目涉及缺陷,则必须检查n个git存储库并将它们配置为一起工作.如果它们各自都有Vagratefile和Dockerfile,那么最终会运行n个VM.理想情况下,您只有1个Vagrant VM,每个服务器只是同一个VM中的新Docker实例.
使用git子模块的主repo /项目可以工作.问题是如果我们创建一个通用的主仓库/项目,那么子模块将指向上游而不是开发人员的分支.
我目前正在考虑一个拥有一些配置,流浪汉和无花果的主项目可能会成功.我目前正在考虑实施这种方法的两种方法.
提供具有一些默认值的配置,即project_1应位于../project_id等
提供一个脚本,该脚本将根据用户的github帐户创建子模块,这将为用户的fork和上游项目的远程创建远程.
有没有其他人解决这个问题或有一个良好的工作流程?