2021年12月22日
jenkins 版本备份、回滚
1.创建项目时候,选择freestyle类型
2.参数化构建,选项参数类型

3.添加参数,用来指定版本

4.增加mvn build操作

5.shell配置,增加发布、回滚的shell

case $status in deploy) echo "status:$status" path="${WORKSPACE}/bak/ebilling-admin/${BUILD_NUMBER}" #创建每次要备份的目录 if [ -d $path ]; then echo "The files is already exists " else mkdir -p $path fi \cp -f ${WORKSPACE}/ebilling-admin/target/*.jar $path #将打包好的jar包备份到相应目录,覆盖已存在的目标 echo "Completing!" ;; rollback) echo "status:$status" echo "version:$version" cd ${WORKSPACE}/bak/ebilling-admin/$version #进入备份目录 \cp -f *.jar ${WORKSPACE}/ebilling-admin/target/ #将备份拷贝到程序打包目录中,并覆盖之前的jar包 ;; *) exit ;; esac
6.在增加一个shell,删除多余的备份

ReservedNum=5 #保留文件数 FileDir=${WORKSPACE}/bak/ebilling-admin/ date=$(date "+%Y%m%d-%H%M%S") cd $FileDir #进入备份目录 FileNum=$(ls -l | grep '^d' | wc -l) #当前有几个文件夹,即几个备份 while(( $FileNum > $ReservedNum)) do OldFile=$(ls -rt | head -1) #获取最旧的那个备份文件夹 echo $date "Delete File:"$OldFile rm -rf $FileDir/$OldFile let "FileNum--" done
7.在增加推送设置,配置就完成了

8.build 测试
