小厂没有专门的版本管理人员和规范的发布流程。很多人都在发布版本,随意发布版本,每次给出去的都是同一个名字的包。给运维(或者第三方对接人员 )造成困惑,到底哪个包是最新的(同样的名字无法区分)。如果我们能把打包时间戳和对应svn版本号获取到,并写入包中,我们就能方便的区分包的版本,也方便内部责任追溯。本文以windows平台为例(linux自行尝试),演示怎么获取版本号(git自行尝试)和当前时间戳。
::获取当前时间
SET year=%date:~0,4%
SET month=%date:~5,2%
SET day=%date:~8,2%
SET hour=%time:~0,2%
SET minute=%time:~3,2%
SET second=%time:~6,2%
SET now=%year%%month%%day%%hour%%minute%%second%
ECHO 现在是:%now%
::获取当前版本号
SET version_file=%指定目录%\Version.txt
svn info -r BASE --no-auth-cache ../ | findstr "Rev:" > %version_file%
for /f "tokens=4 delims= " %%i in (%version_file%) do set rev=%%i
echo %rev%
ps:svn客户端安装的时候需要支持command line