Jenkins Git插件使用Git commit SHA1 id设置GIT_COMMIT
环境变量,长度为40个字符,我需要将其缩短为6个字符。 Ant捕获GIT_COMMIT
环境变量,我不知何故应该缩短它。
答案 0 :(得分:0)
以下是适用于我的Ant脚本:
<property environment="env"/>
<!-- https://stackoverflow.com/a/37896164/5903564 -->
<macrodef name="getsubstring">
<attribute name="src"/>
<attribute name="start"/>
<attribute name="length"/>
<attribute name="result"/>
<sequential>
<loadresource property="@{result}">
<string value="@{src}}" />
<filterchain>
<tokenfilter>
<replaceregex pattern="^.{@{start}}(.{@{length}}).*" replace="\1" />
</tokenfilter>
</filterchain>
</loadresource>
</sequential>
</macrodef>
<!-- Get the first 6 characters of git commit id -->
<getsubstring src="${env.GIT_COMMIT}" start="0" length="6" result="short-commit-id"/>
<echo>Short Git commit id: ${short-commit-id}</echo>
如果我没有使用Jenkins并且没有GIT_COMMIT
变量,我会按照How to lookup the latest git commit hash from an ant build script获取提交ID,然后缩短它。