美文网首页
jenkins部署vue项目带版本管理

jenkins部署vue项目带版本管理

作者: 子丿龙 | 来源:发表于2022-01-13 00:14 被阅读0次

    1.新建自有风格项目

    2.选择参数化构建过程

    image.png

    3.git代码仓库配置好

    4.构建环境选node

    image.png

    5.新增一个有条件的构建步骤

    image.png

    我这里判断是发版还是回滚,如果是发版才执行打包命令


    image.png

    判断脚本如下:

    #!/bin/bash
    
    if [ $BUILD_TYPE == Deploy ];then 
      echo "Deploy,  build required" 
      exit 0
    else
      echo "No Need to build"
      exit -1
    fi
    

    打包命令如下:

    npm install 
    rm -rf ./dist/*
    npm run build-test
    

    6.再新建一个有条件的构建步骤

    这次我们也是先判断是发版还是回滚

    • 如果是发版,那么上边第5步肯定已经打包好了,所以我们只需要把打包好的包放到nginx代理目录下,且备份一下,回滚用(复制到备份文件夹下,最好版本控制)
    • 如果是回滚,那么就从备份文件夹下,选取对应的版本放到nginx代理目录下即可
    • 最后的步骤是清理备份文件夹


      image.png

      脚本如下:

    case $BUILD_TYPE in
      Deploy)
        echo "BUILD_TYPE:$BUILD_TYPE"
        path="/root/boss-test/bak/$BUILD_NUMBER/dist"
        if [ -d $path ];
        then
            echo "The files is aready exists "
        else
            mkdir -p $path
        fi
        cp -rf ./dist/*  $path
        rm -rf /root/boss-test/dist/*
        cp -rf ./dist/*  /root/boss-test/dist
        echo "completing"
        ;;
      Rollback)
        echo "BUILD_TYPE:$BUILD_TYPE"
        echo "Version:$Version"
        rm -rf /root/boss-test/dist/*
        cp -rf /root/boss-test/bak/$Version/dist/*  /root/boss-test/dist
        ;;
      *)
      exit
          ;;
    esac
    
    
    ReservedNum=20  #保留文件数
    FileDir=/root/boss-test/bak
    date=$(date "+%Y%m%d-%H%M%S")
    
    cd $FileDir   #进入备份目录
    FileNum=$(ls -l | grep '^d' | wc -l)   #当前有几个文件夹,即几个备份
    
    while(( $FileNum > $ReservedNum))
    do
        OldFile=$(ls -rt | head -1)         #获取最旧的那个备份文件夹
        echo  $date "Delete File:"$OldFile
        rm -rf $FileDir/$OldFile
        let "FileNum--"
    done 
    

    相关文章

      网友评论

          本文标题:jenkins部署vue项目带版本管理

          本文链接:https://www.haomeiwen.com/subject/pqrbcrtx.html