小廠沒有專門的版本管理人員和規範的發佈流程。很多人都在發佈版本,隨意發佈版本,每次給出去的都是同一個名字的包。給運維(或者第三方對接人員 )造成困惑,到底哪個包是最新的(同樣的名字無法區分)。如果我們能把打包時間戳和對應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