zoukankan      html  css  js  c++  java
  • jenkins安装及项目构建发布回滚

    官网部署地址:
    https://pkg.jenkins.io/redhat-stable/

    部署jenkins

    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    yum install epel-release # repository that provides 'daemonize'
    yum install java-11-openjdk-devel
    yum install jenkins
    

    配置权限

    vim /etc/sysconfig/jenkins
    修改配置
    $JENKINS_USER="root"
    

    修改目录权限

    chown -R root:root /var/lib/jenkins
    chown -R root:root /var/cache/jenkins
    chown -R root:root /var/log/jenkins
    

    启动jenkins按照提示配置
    systemctl start jenkins

    项目构建回滚
    新建项目

    配置参数化构建

    配置字符参数

    选择git地址

    编写构建脚本

    配置构建后操作需要安装Publish Over SSH

    保存后执行build


    构建脚本

    case $status in
      Deploy)
      echo Status:$status
      BAK_PATH=${WORKSPACE}/bak
      BUILD_PATH=/tmp/${JOB_NAME}
      BUILD_SAVE=5
      if [ -d $BAK_PATH -a -d $BUILD_PATH ];
      then
      echo "The files is already exists "
      else
      mkdir -p $BAK_PATH
      mkdir -p $BUILD_PATH
      fi
      cd ${WORKSPACE}/ApplicationBusinessService
      /usr/local/bin/dotnet restore
      /usr/local/bin/dotnet build
      /usr/local/bin/dotnet publish -c release -o $BUILD_PATH
      cd $BUILD_PATH
      rm -rf appsettings.json
      tar -zcvf $BAK_PATH/${JOB_NAME}_${BUILD_NUMBER}.tar.gz ./*
      while true;
      do
      cd $BAK_PATH
      BAKFILES=$(ls -1tr|wc -l)
      if [ $BAKFILES -gt "${BUILD_SAVE}" ];then
           ls -1tr |head -1|xargs rm -rf
      else
            break;
      fi
      done
      ;;
      Rollback)
      echo Status:$status
      echo Version:$Version
      ;;
     *)
      exit
         ;;
    esac
    

    构建后发布脚本

    case $status in
       Deploy)
       BAK_PATH=/tmp/AlphaSocket
       BAK_SAVE=10
       tar -zxvf  /tmp/AlphaSocket/${JOB_NAME}_${BUILD_NUMBER}.tar.gz   -C /usr/local/ApplicationBusinessService
       pm2 reload businessServer
       while true;
       do
       cd $BAK_PATH
       BAKFILES=$(ls -1tr|wc -l)
       if [ $BAKFILES -gt "${BAK_SAVE}" ];then
           ls -1tr |head -1|xargs rm -rf
       else
            break;
      fi
      done
       ;;
       Rollback)
       tar -zxvf  /tmp/AlphaSocket/${JOB_NAME}_$Version.tar.gz   -C /usr/local/ApplicationBusinessService
       pm2 reload businessServer
       ;;
      *)
      exit
         ;;
    esac
    
  • 相关阅读:
    PAT (Advanced Level) Practice 1071 Speech Patterns (25分)
    PAT (Advanced Level) Practice 1070 Mooncake (25分)
    PAT (Advanced Level) Practice 1069 The Black Hole of Numbers (20分)
    PAT (Advanced Level) Practice 1074 Reversing Linked List (25分)
    PAT (Advanced Level) Practice 1073 Scientific Notation (20分)
    第一次冲刺个人总结01
    构建之法阅读笔记01
    人月神话阅读笔记01
    四则运算2
    学习进度条(软件工程概论1-8周)
  • 原文地址:https://www.cnblogs.com/wangchengyi/p/15771955.html
Copyright © 2011-2022 走看看