美文网首页项目管理
Jenkins版本回滚

Jenkins版本回滚

作者: linjiajiam | 来源:发表于2019-03-27 17:56 被阅读0次
一、新建一个自由风格项目
image.png
二、配置参数化构建过程
  1. 添加选项参数


    image.png

    填入以下内容


    image.png
    2.添加字符参数
    image.png
三、配置SVN
image.png
四、配置构建步骤
1. maven打包配置
  • 选择调用顶层Maven目标,Maven版本之前已经在全局工具配置中设置过,目标中填入打包命令


    image.png
2. 执行shell配置
  • 此脚本为打包备份,回滚脚本


    image.png

    填入以下脚本


    备份回滚脚本
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
    \cp -f ${WORKSPACE}/target/*.war $path        #将打包好的war包备份到相应目录,覆盖已存在的目标
    echo "Completing!"
    ;;
  Rollback)
      echo "Status:$Status"
      echo "Version:$Version"
      cd ${WORKSPACE}/bak/$Version            #进入备份目录
      \cp -f *.war ${WORKSPACE}/target/       #将备份拷贝到程序打包目录中,并覆盖之前的war包
      ;;
  *)
  exit
      ;;
esac
  • 这样发布后以后,就会备份如下


    image.png
    image.png
3. 定期删除脚本
  • 项目备份不可能无限制备份,这样很快就会占满磁盘,所以我们必须有清除老旧备份的机制。此处配置一个脚本,每次发布都执行一次,判断备份数是否超过5个,如果超过,则删除老旧备份,只保留最新的5个。
  • 再添加一个执行shell步骤,填入以下脚本,其中备份数量可以自行修改减小或加大


    删除老旧备份脚本
ReservedNum=5  #保留文件数
FileDir=${WORKSPACE}/bak/
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 
五、配置发送到远程tomcat目录
image.png

其中Source files要注意配置正确,否则发送不了war包,我的jenkins该项目的workspace如下:


image.png
六、发布
  • 回到项目主界面,点击Build with Parameters
  • 发布选择Deploy--->开始构建,即可开始发布。


    image.png
  • 回滚选择Rollback--->输入回滚版本---->开始构建,版本号从构建历史中选择一个输入


相关文章

  • jenkins脚本回滚

    网上看了挺多的回滚博文,对于没有做过回滚的毛豆总感觉萌萌的。所以毛豆决定将自己配的回滚写下来做个记录 添加参数化构...

  • Jenkins版本回滚

    一、新建一个自由风格项目 二、配置参数化构建过程 添加选项参数image.png填入以下内容image.png2....

  • jenkins部署springboot项目 带版本回滚

    jenkins先安装插件 Conditional BuildStep ,maven integration默认基本...

  • git 本地代码回滚&&强制更新远端代码 / 本地不想回滚&

    文章参考 git本地版本回退与远端版本回退(回滚) 本地代码回滚&&强制更新远端代码 如果已经提交代码到maste...

  • 提交版本回滚

    将本地master定位到要回滚的版本 注意在回滚前记得先备份一下回滚前的分支备份回滚前的分支,可以说是本地和远程同...

  • Git 版本回滚

    目前团队中用的是git作为版本管理,dev分支为常规开发分支,master为上线分支,常规上线后,不可避免的有bu...

  • cornerStone版本回滚

    之前在和代码的时候,因为代码重构,svn代码库没有新建,在原来的基础上填写的,但是一直没有提交代码,到最后提交代码...

  • git版本回滚

  • git版本回滚

    回滚版本 方法一 reset适用于普通分支,且当前分支未被他人覆盖提交(加入master是保护分支,无法-f提交)...

  • 使用SVN进行版本回滚查看

    Mac下使用SVN怎样进行版本回滚? 之前公司一直使用的Git进行版控,新到一家公司,换成了SVN,相比...

网友评论

    本文标题:Jenkins版本回滚

    本文链接:https://www.haomeiwen.com/subject/cvnzvqtx.html