版本号和里程碑记录方法 - mindpin/knowledge-space-net-lib GitHub Wiki
以一种相对标准化的文本描述(包含一个到多个文档),记录4ye.me客户端的历史发布版本号,以及里程碑。
该标准化描述基于yaml,以做到容易解析。
针对该描述方法,编写解析程序,实现以下需求:
- 能够从该(该组)描述文档中,获取当前平台(android/ios 等)最新的客户端版本号;
- 能够获取当前平台最后一个客户端里程碑对应的版本号;
- 能够根据指定版本获取该版本的更新记录(CHANGELOG)
针对该描述方法,编写更新程序,实现以下需求:
- 对指定平台(android/ios 等)增加一个新版本,并声明它是否是里程碑;
用两个 yaml 文件 android.yaml ios.yaml 来分别保存各自平台的版本信息
yaml 文件格式如下,版本按照最新到最旧排列
- version: 1.5.2
is_milestone: false
changelog: "blanblan....."
- version: 1.0.0
is_milestone: true
changelog: "blanblan....."
创建一个 version_manager.rb 文件,实现 VersionManager 类,使其可以像如下方式使用
# 获取最新的客户端版本号
# platform 是 android 或 ios
version = VersionManager.get_newest_version(platform)
# 获取最新的里程碑客户端版本号
version = VersionManager.get_newest_milestone_version(platform)
# 根据指定版本获取该版本的更新记录
VersionManager.get_changelog(platform, version)
# 增加一个版本信息到 yaml 文件中
platform = "android"
version = "1.6.0"
is_milestone = false
VersionManager.add_version(platform, version, is_milestone, changelog)
@arlyxiao 实现了上述逻辑,实现代码在
https://gitcafe.com/arlyxiao/version_manager
目前代码正在进行重构但方法固定,集成时参考本词条中编写ruby程序的说明。
在 @arlyxiao 重构的同时开始进行其他集成。
@arlyxiao 重构完毕后,将最新代码替换到集成工程里。