当前位置: 首页 > 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}

构建的时候和刚刚的一样

相关文章:

  • react native hooks 如何避免重复请求
  • springdata框架对es集成
  • HMI的学习
  • 【SpringCloud微服务实战10】DevOps自动化部署微服务项目(Jenkins+Docker+K8s)
  • Dubbo的服务注册与发现原理、Java如何实现Dubbo的服务注册与发现
  • 【ZZULIOJ】1012: 求绝对值(Java)
  • 【有芯职说】数字芯片BES工程师
  • c++中2种返回变量类型名称的方法
  • 论文笔记:分层问题-图像共注意力问答
  • [数据集][目标检测]道路交通事故检测数据集VOC+YOLO格式11819张2类别
  • IntelliJ IDEA中遇到的“cannot access java.lang.String“错误及其解决方案(day8)
  • 软件概要设计说明书word原件(实际项目)
  • Vue 04 Vue 中的 Ajax、slot 插槽
  • 基于单片机控制的高速数据采集与处理系统研究
  • 安全的内网通讯软件,WorkPlus定制化 IM/办公门户解决方案
  • 10个最佳ES6特性 ES7与ES8的特性
  • HTTP请求重发
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • js中的正则表达式入门
  • Just for fun——迅速写完快速排序
  • mysql中InnoDB引擎中页的概念
  • Redis学习笔记 - pipline(流水线、管道)
  • Vue--数据传输
  • 动态魔术使用DBMS_SQL
  • 二维平面内的碰撞检测【一】
  • 经典排序算法及其 Java 实现
  • 聚类分析——Kmeans
  • 前端性能优化——回流与重绘
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 追踪解析 FutureTask 源码
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​Linux·i2c驱动架构​
  • ​马来语翻译中文去哪比较好?
  • $.ajax()
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (定时器/计数器)中断系统(详解与使用)
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)Java算法:二分查找
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .bat批处理(一):@echo off
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET Core中Emit的使用
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET MVC之AOP
  • .pop ----remove 删除
  • @Autowired 与@Resource的区别