-
jenkins 基于上次构建结果回滚方式
思路:设置构建参数,脚本根据参数执行,拉取代码后压缩为项目名称+构建号的tar包,然后将最新的压缩包发送到应用主机,回滚则是将要回滚的压缩包,改为最新的构建号压缩包,然后发送到应用主机
image.png
image.png
image.png
case $Status in
Deploy)
echo "Status:$Status"
path="${WORKSPACE}/bak"
if [ -d $path ];
then
echo "The files is already exists "
else
mkdir -p $path
fi
cd ${WORKSPACE}
tar czf bak/${JOB_NAME}-${BUILD_NUMBER}.tar.gz * --exclude=bak
find $path -mtime 2 -name "*.tar.gz" -exec rm -rf {} \;
echo "Completin!"
;;
Rollback)
echo "Status:$Status"
echo "Version:$Version"
cd ${WORKSPACE}/bak
cp -R `ls /root/.jenkins/workspace/warbak/bak | grep $Version` ${JOB_NAME}-${BUILD_NUMBER}.tar.gz ##复制为最新版本构建号
;;
*)
exit
;;
esac
- WORKSPACE : /root/.jenkins/workspace/warbak/ 工作目录变量
- JOB_NAME:项目名称
-
BUILD_NUMBER:构建号
将最新版本压缩包发送到其他主机
image.png
网友评论