第89节 OpenIM Release 维护多分支策略


❤️💕💕记录sealosopen in new window开源项目的学习过程。k8s,docker和云原生的学习open in new window。Myblog:http://nsddd.topopen in new window


[TOC]

介绍

  1. main 分支:这个分支是开发人员合并代码的主要分支。新的特性和 bug 修复都会合并到这个分支。这个分支的代码应该始终保持在可部署状态。
  2. release-v3.* 分支:这个分支是已经稳定并发布的版本。重要的 bug 修复可以直接合并到这个分支,并且这些修复应该同时也合并到 main 分支。此外,每次从 main 分支合并代码到这个分支时,都应该创建一个新的 tag,以记录这个分支的新版本。
  3. bug/* 分支:这些分支用于修复 bug。如果 bug 非常严重,那么修复应该同时合并到 main 分支和对应的 release 分支。如果 bug 不是很严重,那么修复应该合并到 main 分支,并在下一个版本发布时,合并到 release 分支。
  4. feat/* 分支:这些分支用于开发新的特性。新的特性应该首先在这些分支上开发和测试,然后在完成后合并到 main 分支。

重大 bug:

判断出现重大 bug:维护一个 wiki 来记录重大 bug (参考:https://github.com/kubernetes/release/issues/3099),并且每一个 大 bug 都填上 kind/bug、area/release-eng,sig/release 标签区分

  • 创建 bug 分支: 从当前的release 分支创建一个新的 bug/* 分支,然后在这个新分支上进行 bug 修复的工作
  • 修复 bug:在新创建的 bug/* 分支上,对 bug 进行修复,测试
  • review 代码、自动化测试
  • 经过大量测试以及自动化测试,合并到 release
  • 合并到 main:这里可能会出现冲突,适当解决 + 自动化测试

END 链接