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

发布于:2024-03-29 ⋅ 阅读:(73) ⋅ 点赞:(0)

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

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  in
  huigun) #注意大小写
    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" ]; then
	echo "备份目录已经创建"
else
	
    mkdir -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}

构建的时候和刚刚的一样