gpt4 book ai didi

continuous-integration - 如何在 monorepo 中对产品进行版本控制?

转载 作者:行者123 更新时间:2023-12-04 01:13:17 25 4
gpt4 key购买 nike

我一直在对自己进行有关 monorepos 的教育,因为我相信它对我的团队和我们项目的当前状态来说是一个很好的解决方案。我们有多个网络产品(客户端门户、内部门户、API、核心共享代码)。

我正在努力寻找我想要找到的答案的地方是版本控制。

当您的所有项目和产品都在一个单一存储库中时,版本控制策略是什么?

  • 1 版本适合所有人?
  • 具有独立版本控制的 Git 子模块(有点打破了拥有单一存储库的点)
  • 其他策略?

  • 从 CI 的角度来看,当您在项目 A 中提交某些内容时,您是否应该在所有项目中启动整套测试以确保没有任何问题发生,即使没有必要对依赖/共享模块进行更改?

    最佳答案

    What is the versioning strategy when all of your projects and products are inside a monorepo?



    我建议一个版本适合所有人,原因如下:
  • 发布产品时,您可以将整个分支标记为 release-x.x.x例如。如果出现错误,您无需检查“XXX 的哪个版本是 YYY 使用的”
  • 它还可以更轻松地强制 XXX 的 x.x.x 版本使用 YYY 的 x.x.x 版本。从本质上讲,使您的项目保持同步。当然,你如何进行这取决于你的项目是用什么技术编写的。

  • And from a CI perspective, when you commit something in project A, should you launch the whole suite of tests in all of the projects to make sure that nothing broke, even though there was no necessarily a change made to a dependency/share module?



    如果测试不需要特别长的时间来执行,那么这不会造成任何伤害。我肯定会推荐这个。您的测试运行得越频繁,您就能越早发现时间相关或环境相关的错误。

    如果您出于某种原因不想一直运行测试,您可以查询您的 VCS 并编写一个脚本,该脚本根据已更改的内容有条件地触发测试。这在很大程度上依赖于 VCS 和 CI 服务器之间的集成。

    关于continuous-integration - 如何在 monorepo 中对产品进行版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47225641/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com