Jenkins的回滚

0.144字数 146阅读 2775
  • jenkins 基于上次构建结果回滚方式
    思路:设置构建参数,脚本根据参数执行,拉取代码后压缩为项目名称+构建号的tar包,然后将最新的压缩包发送到应用主机,回滚则是将要回滚的压缩包,改为最新的构建号压缩包,然后发送到应用主机


    image.png

    image.png

    image.png
case $Status  in
  Deploy)
    echo "Status:$Status"
    path="${WORKSPACE}/bak"
    if [ -d $path ];
    then
        echo "The files is already  exists "
    else
        mkdir -p  $path
    fi
    cd ${WORKSPACE}
    tar czf bak/${JOB_NAME}-${BUILD_NUMBER}.tar.gz * --exclude=bak
    find $path  -mtime 2 -name "*.tar.gz"  -exec rm -rf {} \;
    echo "Completin!"
    ;;
  Rollback)
      echo "Status:$Status"
      echo "Version:$Version"
      cd ${WORKSPACE}/bak
      cp -R `ls /root/.jenkins/workspace/warbak/bak  |  grep $Version`   ${JOB_NAME}-${BUILD_NUMBER}.tar.gz   ##复制为最新版本构建号
      ;;
  *)
  exit
      ;;
esac
  • WORKSPACE : /root/.jenkins/workspace/warbak/ 工作目录变量
  • JOB_NAME:项目名称
  • BUILD_NUMBER:构建号
    将最新版本压缩包发送到其他主机


    image.png
image.png