jenkins实现根据构建记录回滚版本(php项目)

1,已搭建好的各种环境和前提准备
具体参考:
https://www.cnblogs.com/stronger-xsw/p/12809365.html

2,打开jenkins项目配置
选择参数化构建

填写信息如图

3,选择添加字符窜参数

填写信息如下(注意大小写)

4,添加执行脚本

脚本代码如下

case $Status  in
  Deploy)
  echo "Status:$Status"
  path="../tp6bak/${BUILD_NUMBER}"      #创建每次要备份的目录
  if [ -d $path ];
  then
     echo "The files is already  exists "
  else
     mkdir -p  $path
 fi
 \cp -r ${WORKSPACE}/* $path        #复制当前版本代码到历史文件夹
 #composer update
 echo "Completing!"
 ;;
 Rollback)
  echo "Status:$Status"
  echo "Version:$Version"
  rm -rf ${WORKSPACE}/*             #删除工作空间代码
  cd ../tp6bak/$Version            #进入备份目录
  echo $Version                   #输出获取的版本号
  \cp -r ./* ${WORKSPACE}/       #拷贝历史版本至工作空间
  ;;
  *)
   exit
  ;;
 esac

5,保存,到项目,参数化构建
选择回滚,填写版本号

6,每次正常发布,构建成功以后,文件目录都会有历史版本
如图:

注:文件名,路径什么的,根据自己需要自行修改

posted @   八戒vs  阅读(906)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示