近期,要不断地适应业务变更和演进的节奏,朝着自动测试、自动部署、持续交付的方向迈进。
保持一致性和简洁性,是我们的一贯理念。抽空把原来的一些好的实践经验记录一下,供参考。虽然这些小经验可能没有涉及到大的架构、技术难点,但在实践中也很好地帮助了我们进行版本迭代。
iOS App 版本的定义
版本(version#):x.y.z,如 0.5.1;
build#:一个正整数,如 2;
扩展:version# (role#build#),如 0.5.1 (C2);
具体请参见:iOS App 版本的定义
Android 版本的定义
同 iOS App 版本的定义,在 AndroidManifest.xml 文件中:
- android:versionCode
build# - android:versionName
同扩展版本的定义,示例:0.5.1 (B3);
AndroidManifest.xml
服务端版本的定义
我们按照产品版本部署。
通常按照产品版本进行访问,若有未带产品版本的访问则指向当前最新版本。
在 Web Server 根目录配置上,产品版本指向的文件目录以 tag 标识。
- 产品版本(或者更 specific 时:rdoc 版本)
我们以往一致以 x.y 格式来标识,比如:0.5; - tag
以 x.y.z.w 标识,示例:0.5.1.3921,其中:- x.y.z 的定义
和 iOS 版本一致,示例:0.5.1; - w 的定义
weeknum#weekday#sn,其中:
weeknum 表示一年中的第几周( the week number of a specific date);
weekday 表示一周中的第几天(the day of the week);
sn 表示当天的序列号;
示例:3921 表示第39周的第2天的第1个版本,即 2015-9-21 打的第1个标签。
注:以周日为一周的第1天,每年的1月1日所在的周为第一周(即 U.S.标准,iPhone 手机上的默认日历 Calendar 就是这个标准)。
Excel 函数 weeknum(date(2015, 9, 21)), weekday(date(2015, 9, 21)) 可以进行计算。
- x.y.z 的定义