在 jenkins 中,当它运行我的作业时,有几个 svn 签出。其中每个都会导致一个环境变量SVN_REVISION_N其中 N 是结帐索引。我想解析所有这些并找到最高修订版。
虽然无法使用 Groovy 脚本找到方法,但使用 cmd 批处理的方法为
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 ECHO Unable to enable extensions
SET /a max_svn=0
SET /a index=1
:loop
r = "SVN_REVISION_"%index%
if defined r (
SET /a xxv=%r%
IF %xxv% gtr %max_svn% (
SET /a max_svn=%xxv%
)
)
else (
goto all_done
)
goto loop
:all_done
echo max_svn=%max_svn%
任何关于改进的指针都值得赞赏,因为这个 Windows cmd 脚本非常原始。