• jenkins 自动化构建 部署 回滚配置


    jenkins自动化构建,自动化部署,回滚具体配置如下:以测试环境xx服务为例进行配置

    jenkins至少需要安装如下两个插件:

     

     

     

     

     

     

    上面具体脚本如下:

    case $Status in
    Deploy)
    cd /root/.jenkins/workspace/cart-service
    /data/tools/maven3/bin/mvn clean package -f pom.xml -Drun.profiles=test -Dmaven.test.skip=true
    cp -r /root/.jenkins/workspace/cart-service/cart-service/target/cart-service-1.0.jar /project/code/
    kill -9 $(ps -ef|grep cart-service|grep -v grep|awk '{print $2}')
    nohup /data/tools/jdk8/bin/java -jar -Dspring.profiles.active=dev /project/code/cart-service-1.0.jar >>/project/logs/cart-service.log 2>&1 &
    echo "Status:$Status"
    path="${WORKSPACE}/bak/${BUILD_NUMBER}" #创建每次要备份的目录
    if [ -d $path ];
    then
    echo "The files is already exists "
    else
    mkdir -p $path
    fi
    cp -f ${WORKSPACE}/cart-service/target/cart-service-1.0.jar $path #将打包好的jar包备份到相应目录,覆盖已存在的目标
    echo "Completing!"
    ;;
    Rollback)
    echo "Status:$Status"
    echo "Version:$Version"
    cd ${WORKSPACE}/bak/$Version #进入备份目录
    cp -f cart-service-1.0.jar ${WORKSPACE}/cart-service/target/ #将备份拷贝到程序打包目录中,并覆盖之前的jar包
    cp -r /root/.jenkins/workspace/cart-service/cart-service/target/cart-service-1.0.jar /project/code/
    kill -9 $(ps -ef|grep cart-service|grep -v grep|awk '{print $2}')
    nohup /data/tools/jdk8/bin/java -jar -Dspring.profiles.active=dev /project/code/cart-service-1.0.jar >>/project/logs/cart-service.log 2>&1 &
    ;;
    *)
    exit
    ;;
    esac

    上面具体脚本如下:

    ReservedNum=5 #保留文件数
    FileDir=${WORKSPACE}/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到此配置结束。

    下面开始配置gitlab(自动化构建部署):

    dev分支下的xxx-service 服务(项目)为例进行具体配置:

    点击setttings(设置)进行配置,选择settings下的集成进去配置,具体如下:

    如上点击test,选中push那个,成功会返回200,如下,然后保存提交(修改)。

    到此为止,jenkins自动化构建,自动化部署,回滚配置完成。

  • 相关阅读:
    记一次MD5妙用
    go执行外部应用
    Go语言中的HTTP
    Go语言中的UDP应用
    Go学习
    Element-ui学习使用
    Vue学习
    BootCDNApi使用记录
    jquery.easypiechart.js简介
    jquery.gritter.js简介
  • 原文地址:https://www.cnblogs.com/renyongbin/p/14383815.html
Copyright © 2020-2023  润新知