示例文件名是Sample-0.0.1-SNAPSHOT.jar
(jenkins 中 Maven 构建的结果)。
我的目标是运行一个在失败时执行的 shell 脚本,该脚本的作用是将增量数字添加到文件名中。
所以我们可以说Sample-0.0.1-1-SNAPSHOT.jar
,Sample-0.0.1-2-SNAPSHOT.jar
..等等。
(顺便说一句:为了生成文件名,Jenkins 使用以下环境变量格式从 POM 文件中获取相关信息:$POM_ARTIFACTID-$POM-VERSION.jar)
我在想以某种方式使用 $POM-VERSION 来回显它并使用 sed 来添加/替换增量数字?
问题是我不知道如何执行它,所以如果有人可以帮助我解决这个问题,那就太好了!另外,如果有更好的想法,我绝对愿意接受。
答案1
假设工作空间是持久的,那么每次构建后都会触发以下事件:
if [ -f counterfile.txt ]; then
num=$(cat counterfile.txt)
else
num=0
fi
num=$((num+1))
echo $num>counterfile.txt
filename=$POM_ARTIFACTID-$POM-VERSION.jar
newfilename=echo $filename | sed "s/-SNAPSHOT/-$num-SNAPSHOT/"
mv $filename $newfilename