예제 파일 이름은 Sample-0.0.1-SNAPSHOT.jar
(jenkins의 Maven 빌드 결과)입니다.
내 목표는 실패 시 실행되는 쉘 스크립트를 실행하는 것이며 파일 이름에 증분 숫자를 추가하는 것입니다.
그래서 우리는 Sample-0.0.1-1-SNAPSHOT.jar
, Sample-0.0.1-2-SNAPSHOT.jar
..etc라고 말할 수 있습니다.
(BTW: 파일 이름을 생성하기 위해 Jenkins는 $POM_ARTIFACTID-$POM-VERSION.jar 환경 변수 형식을 사용하여 POM 파일에서 관련 정보를 가져옵니다.)
어떻게든 $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