【Jenkins系列四】、jenkins发布和回滚

之前的文章中已经说过怎么进行发布,但没有写怎么回滚,那么这篇文章会介绍两种回滚方式。

  1. 通过git来回滚
  2. 通过发布时备份,回滚时选定备份文件进行回滚

 

第一种,使用gogs做源代码管理,java项目的栗子如下:

为来更好的理解我下面的操作,先看流程图,这是一个线上生产的一个发布过程

1.1 先选择一个mavn项目

1.2 配置如下:

1.2.1 设置构建历史保留数量(general => 丢弃旧的构建),我设置为保留最近30个,防止磁盘空间被撑爆

 

1.2.2 设置参数化构建过程

其中选项参数是下拉框的,字符参数是文本框

1.2.3 设置源码管理

Repository URL为项目仓库url

Credentials为下载这个仓库的账号密码

Branch Specifier 为分支

 

1.2.4 设置构建前的脚本,注意是做build前的pre steps中执行的shell脚本,该脚本是确认是否回滚,如果回滚的话调用回滚命令

case $Status  in
  Rollback)
    echo "-----本次操作为回滚,版本号为$Version-----"
    git reset --hard $Version
    echo "-----回滚完成,打包中-----"   
    ;;
  *)
  exit
      ;;
esac

 

1.2.5 设置build,mavn构建时依赖该配置文件,该配置文件为java项目中的配置

1.2.6,jenkins服务器构建好后再调用一个python脚本去执行负载均衡的关闭,不需要的可以不调用

1.2.7 设置post steps,上传构建的java文件至程序服务器,并执行命令重启java项目

1.2.8 关闭负载均衡

 

1.3 发布界面如下:

 

commit_id从gogs获取 

如果是github就是下图这个

第二种,使用gogs做源代码管理,java项目的栗子如下:

为来更好的理解我下面的操作,先看流程图,这是一个线上生产的一个发布过程,该方法会比较耗磁盘存储,因为要备份

2.1 先选择一个mavn项目

2.2.1配置如下:

 

 

 

case $Status  in
  Deploy)
    echo "-----发布前进行打包备份-----"
    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 1 -name "*.tar.gz"  -exec rm -rf {} \;
    echo "Completin!"
    ;;
  *)
  exit
      ;;
esac

 

cd /usr/src/app/oto_saas_bank_pay_dev
pwd
ls -l
echo "Status:$Status"
echo "Version:$Version"

case $Status  in
 Deploy)
      echo "-----发布-----"      
      ;;
  Rollback)
      echo "-----回滚-----"  
      appfile=oto_saas_bank_pay-1.1.2-SNAPSHOT.jar 
      cd bak
      tar -zxvf ${JOB_NAME}-$Version.tar.gz 
      cd ..
      rm -rf target/$appfile 
      mv bak/target/$appfile target/$appfile 
      ;;
  *)
  exit
      ;;
esac

supervisorctl status
supervisorctl reread
supervisorctl update
supervisorctl restart  oto_saas_bank_pay_dev
supervisorctl status

 

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值