• 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自动化构建,自动化部署,回滚配置完成。

  • 相关阅读:
    【草稿】自定义ASP.NET MVC Html辅助方法
    Python安装(64位Win8.1专业版)
    部署WP程序到自己的手机
    C++中vector小学习,顺便查了下<stdio.h>(或<cstdio>)
    关于ENVI5.0菜单栏不能正常显示(win7 x86系统)
    如何让一个精灵跟随触点移动
    GDAL在VS下配置测试
    【docker】修改现有容器的端口
    Django channles线上部署(腾讯云)
    【leafletjs】添加标记、轨迹线与删除标记、轨迹线
  • 原文地址:https://www.cnblogs.com/renyongbin/p/14383815.html
Copyright © 2020-2023  润新知