当前位置: 首页 > news >正文

Linux:Jenkins:参数化版本回滚(6)

上几章我讲到了自动集成和部署

Linux:Jenkins全自动持续集成持续部署(4)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/w14768855/article/details/136977106


当我们觉得这个页面不行的时候,需要进行版本回滚,回滚方法我这里准备了两种

两者都是使用shell语句进行回滚

第一种是脚本调用git命令进行回滚

第二种是脚本调用

我现在环境是根据前几章的ci&cd搭建起来的,gitlab项目直接就部署好了


方法1

 

这里的参数你可以跟着我填上等会你就知道是做什么的了

#!/bin/bash
case $status  inhuigun) #注意大小写echo "-----本次操作为回滚,版本号为$version-----"git reset --hard $version
echo "-----回滚完成,打包中-----"  ;;*)exit
esac
scp /var/lib/jenkins/workspace/${JOB_NAME}/* root@192.168.6.5:/var/www/html
scp /var/lib/jenkins/workspace/${JOB_NAME}/* root@192.168.6.6:/var/www/html

 

 

 

在构建的时候直接填写gitlab上的历史数值就可以进行回滚


方法2

和方法1一样只不过就是脚本变了

#!/bin/bash
jenkins_workspace="/var/lib/jenkins/workspace"
jenkins_workspace_bak="$jenkins_workspace/bak"
if [ -d "$jenkins_workspace_bak" ]; thenecho "备份目录已经创建"
elsemkdir -p "$jenkins_workspace_bak"echo "创建备份目录"
fi
#!/bin/bash
# ${JOB_NAME}    拉取下来的项目名称
# ${BUILD_NUMBER}    构建按次数
jenkins_workspace="/var/lib/jenkins/workspace"
jenkins_workspace_bak="$jenkins_workspace/bak"
case $status in
fabu)
cd ${jenkins_workspace}/${JOB_NAME}
tar cfz ${JOB_NAME}-${BUILD_NUMBER}.tar.gz ./*
mv ${JOB_NAME}-${BUILD_NUMBER}.tar.gz ${jenkins_workspace_bak}
;;
huigun)
rm -rf /var/lib/jenkins/workspace/${JOB_NAME}/*
cd $jenkins_workspace_bak
tar xf ${JOB_NAME}-${version}.tar.gz -C /var/lib/jenkins/workspace/${JOB_NAME}/
;;
esac
#!/bin/bash
scp /var/lib/jenkins/workspace/${JOB_NAME}/* root@192.168.6.5:/var/www/html
scp /var/lib/jenkins/workspace/${JOB_NAME}/* root@192.168.6.6:/var/www/html
rm -rf /var/lib/jenkins/workspace/${JOB_NAME}

构建的时候和刚刚的一样

http://www.lryc.cn/news/327413.html

相关文章:

  • Haproxy2.8.1+Lua5.1.4部署,haproxy.cfg配置文件详解和演示
  • GenICam-GenApi简介
  • 如何创建纯净版Django项目并启动?——让Django更加简洁
  • 蓝桥杯 2022 省A 选数异或
  • 计数器选型参数,结构原理,工艺与注意问题总结
  • Android 性能优化实例分享-内存优化 兼顾效率与性能
  • IT服务监督管理案例分析题
  • 【spring】AbstractApplicationContext 的refresh() 方法学习
  • 零基础10 天入门 Web3之第1天
  • 【1】网络协议基础概念
  • flutter 中 GetxController 和 GetxService 的区别和使用场景
  • Python+Django+Yolov5路面墙体桥梁裂缝特征检测识别html网页前后端
  • uniApp使用XR-Frame创建3D场景(7)加入点击交互
  • 单元测试11213123231313131231231231
  • libVLC 捕获鼠标、键盘事件
  • 京东云0基础搭建帕鲁服务器_4核16G和8核32G幻兽帕鲁专用服务器
  • OpenCV 如何使用 XML 和 YAML 文件的文件输入和输出
  • playbook的介绍、应用与实施
  • uniApp使用XR-Frame创建3D场景(5)材质贴图的运用
  • 阿里云CentOS7安装Hadoop3伪分布式
  • 78.子集90.子集2
  • 基于Ubuntu的Linux系统安装jsoncpp开发包过程
  • 葵花卫星影像应用场景及数据获取
  • Jenkins升级中的小问题
  • Apache Hive的基本使用语法(二)
  • 基于单片机16位智能抢答器设计
  • idea默认代码生成脚本修改
  • StarRocks实战——多点大数据数仓构建
  • jmeter总结之:Regular Expression Extractor元件
  • 快速上手Spring Cloud 七:事件驱动架构与Spring Cloud