我一直在教育自己关于monorepos,因为我相信这对我的团队和我们项目的当前状态来说是一个很好的解决方案。我们有多个Web产品(客户端门户,内部门户,API,核心共享代码)。
我正在努力寻找我想要找到的答案版本。
当您的所有项目和产品都在monorepo中时,版本控制策略是什么?
从CI的角度来看,当您在项目A中提交某些内容时,您是否应该在所有项目中启动整套测试以确保没有任何损坏,即使没有必要对依赖项进行更改/分享模块?
答案 0 :(得分:2)
当您的所有项目和产品都在monorepo中时,版本控制策略是什么?
我建议一个版本适合所有版本,原因如下:
release-x.x.x
。如果出现错误,您将无需检查“哪个版本的XXX是YYY使用”从CI的角度来看,当您在项目A中提交某些内容时,您是否应该在所有项目中启动整套测试以确保没有任何损坏,即使没有必要对依赖项进行更改/分享模块?
如果测试执行时间不长,则不会造成任何伤害。我肯定会推荐这个。您的测试运行得越频繁,您就越能发现依赖于时间或依赖于环境的错误。
如果您不想因任何原因一直运行测试,您可以查询您的VCS并编写一个脚本,该脚本根据更改的内容有条件地触发测试。这很大程度上依赖于VCS与CI服务器之间的集成。