Jenkins 版本回滚
有时候可能代码提交上去了,但是发现有个BUG,这时候就需要回滚到历史的版本中了
Last updated
有时候可能代码提交上去了,但是发现有个BUG,这时候就需要回滚到历史的版本中了
Last updated
#!/bin/bash
function vue_build()
{
node -v
npm -v
rm -rf package-lock.json
echo "npm install"
npm run build
tar zcvf dist.tar.gz ./dist
}
case $Status in
Deploy)
echo "Status:$Status"
path="${WORKSPACE}/bak/${BUILD_NUMBER}" # 创建每次要备份的目录
if [ -d $path ];
then
echo "The files is already exists "
else
mkdir -p $path
fi
vue_build # 调用 nodejs 编译打包
\cp -f ${WORKSPACE}/*.tar.gz $path # 将打包好的压缩包备份到相应目录,覆盖已存在的目标
echo "Completing!"
;;
Rollback)
echo "Status:$Status"
echo "Version:$Version"
cd ${WORKSPACE}/bak/$Version # 进入备份目录
\cp -f *.tar.gz ${WORKSPACE}/ # 将备份拷贝到程序打包目录中,并覆盖之前的压缩包
;;
*)
exit
;;
esac
#!/bin/bash
echo "开始清除老旧版本备份......"
ReservedNum=10 # 备份保量数
FileDir=${WORKSPACE}/bak/ # 备份目录
date=$(date "+%Y%m%d-%H%M%S") # 删除备份日期
cd $FileDir # 进入备份目录
FileNum=$(ls -l | grep '^d' | wc -l) # 当前有几个文件夹,即几个备份
while [[ ${FileNum} -gt ${ReservedNum} ]]; do
echo "开始执行删除"
OldFile=$(ls -rt | head -1) # 获取最旧的那个备份文件夹
echo $date "Delete File:"$OldFile
rm -rf $FileDir/$OldFile
let "FileNum--"
done