-
Notifications
You must be signed in to change notification settings - Fork 56
发布 SOP
本指南旨在规范和指导测试发布过程,以确保 PageSpy 在发布版本时达到预期的质量标准。测试发布是项目开发周期中的一个重要阶段,用于验证新功能、修复错误和进行性能优化。测试发布的目标是验证新功能的可靠性、检测并修复现有错误,以及收集用户反馈,为下一阶段的正式发布做准备。
测试发布涵盖项目的所有关键功能和模块,并且重点测试新功能、改进和修复的部分。在进行测试发布之前,确保测试环境已经设置好,并且测试数据和工具已经准备就绪。
之前的版本发布历史请参考 Release 或版本控制仓库。
除非特殊说明,否则下文中提到的命令都在根目录下运行。
- 确定发布版本号
根据当前仓库中的版本确定下一个发布的版本号,通常遵循语义化版本控制规范(SemVer)。
- 拉取最新代码
从主开发分支(通常是
main
)拉取最新的代码到本地开发环境,并切到新分支,通常新分支名称需要遵循命名规范。
- 本地调整
开发阶段本地调整后构建项目,确保生成的内容符合预期。
# 一次性构建全部子包
lerna run build
# 构建指定子包
lerna run build --scope=@huolala-tech/page-spy-xxx
# 构建指定子包、并监听内容改动
lerna run build:watch --scope=@huolala-tech/page-spy-xxx
- 运行单元测试
执行单元测试套件,确保代码的基本功能和逻辑没有被破坏。
yarn test
- 手动测试
对于无法自动化测试的部分,进行手动测试,例如本次改动调整了用户界面和外观等。
- 运行端到端测试
如果有端到端测试,运行这些测试以模拟用户在真实环境中的操作,验证整个系统的功能性和稳定性。
- 修复问题
如果发现了问题或 bug,修复并确保问题被解决。在修复问题后,重复步骤 3 到 6,直到没有发现新的问题。
- 更新说明
确保所有必要的文档和注释已经更新,以反映最新的更改和功能。
- 二次确认
执行发布前二次确认本次的改动内容和待发布版本号。
- 标记新版本
# 标记新的语义化版本(也可以不带语义 tag 执行,根据 prompt 选择版本)
lerna version <major | minor | patch | prerelease>
- 发布新版本
# 发布为 latest
lerna publish from-git
# 发布为 beta 版本,通常配合 lerna version prerelease --preid beta 使用
lerna publish from-git --dist-tag beta
- 更新依赖
调试端如果依赖了此次更新的子包,则前往调试端 page-spy-web 仓库更新子包到最新版本,同时调试端标记新版本并发布;如果调试端不依赖此次更新的子包 ,比如原生小程序的 SDK 更新,则无需更新调试端。
- 结果验证
调试端标记新版本并提交后,等待仓库的 Action workflow 构建完成。之后拉取新版本的服务,确认此次更新内容符合预期。
# 更新 docker 服务
docker stop pageSpy && docker rm -f pageSpy && docker pull ghcr.io/huolalatech/page-spy-web:latest && docker run -dp 6752:6752 --name="pageSpy" ghcr.io/huolalatech/page-spy-web:latest
# 更新 nodejs 服务
yarn global upgrade @huolala-tech/page-spy-api@latest && page-spy-api
# 浏览器打开 http://localhost:6752 访问新版本服务
- 版本说明
前往 Release 页面填写新版本的内容改动说明。
- 通知用户
通过 v2ex / 掘金 / 微信群等社交媒体或其他途径通知用户新版本的发布,提供新版本链接和相关的发布说明。
- 监控反馈、持续改进
监控用户反馈和报告的问题,及时响应并处理可能出现的问题,根据用户需求和项目进展不断改进和迭代。
在执行本 SOP 的过程中,请确保所有步骤都得到了完整的执行,并仔细遵循每个步骤中提供的指导。如果有任何疑问或需要进一步的解释,请随时联系 @Blucas 以获取支持。我们会定期 review 、修正内容、增加新的主题,进行版本迭代。希望以上内容能够帮助到大家!