基于tag的方式回退
现处于v1.1版本的情况下,如何回退到v1.0版本呢
通过查看之前的脚本得到启发
我们可以将原本指向v1.1 的软连接删掉,然后重新创建软连接指向v1.0即可
1.创建一个项目
2.回退的时候希望通过填入指定的参数进行回退,所以还要进行参数化构建
当给git_verions传递的值为V1.0,那就会回退到V1.0
3.准备脚本,然后点击保存
#!/usr/bin/bash
#1.删除软连接
#2.重新创建软连接
webservers="192.168.xx.xx 192.168.xx.xx"
Date=$(date +%F-%H-%M)
Web_Dir=/opt
Web_Name=web_jd_${Date}_${git_version} #包名中加上tag信息
for host in ${webservers}
do
ssh root@$host " [ -d ${Web_Dir}/web_jd_*_${git_version} ] && \ #判断/opt目录下是否存在目标版本的包
rm -f /code/html && \ #如果存在就删掉/code/html,然后重新创建软连接
ln -s ${Web_Dir}/web_jd_*_${git_version} /code/html "
done
4.输入需要回退的版本,然后开始构建
5.查看结果,项目已经回退到了之前的版本
最终可以实现多个版本之间的回退