• 使用jenkins的SSH Publishers远程执行


    使用jenkins的SSH Publishers远程执行

    配置 SSH Servers

    如图,系统管理->系统设置->SSH Servers
    点击
    往下翻到:


    远程脚本功能说明

    本次远程脚本需要实现:
    a.将WORKERSPACE下面的包传到远程服务器上
    b.备份包
    c.更新包
    d.kill掉旧得进程
    e.启动进程

    具体操作:

    1. 添加git仓库登录的账户



    2. 配置git仓库地址:
      创建一个自由风格的项目,给项目配置:

    3. 配置构建命令:

    4. 配置远程机器:

      在Exec command中配置需要在远程机器上执行的脚本
      这里脚本最好是在linux机器上编写好再复制过来。直接在jenkins界面上编写容易出现中文字符的空格导致执行失败且不会有报错提示

    #/bin/sh
    
    #jar包名称
    JAR_NAME=voneDAO-file-service.jar
    #内存参数大小
    JVM_OPS="-Xmx256m -Xms256m"
    #发布的环境
    #ENV="--spring.profiles.active=test"
    ENV='--spring.profiles.active=test --spring.cloud.consul.host=10.10.3.88'
    #日志路径
    LOG_HOME='/data/vonedao/log'
    ##项目日志名称
    LOG_NAME='file'
    #新包存放路径
    UPDATE_JAR='/data/vonedao/jar'
    #项目路径
    JAR_HOME='/data/vonedao'
    #包备份路径
    BAK_HOME='/data/vonedao/bak'
    
    
    
    #下面参数顺序不需要变动
    sh -x /data/vonedao/jar.sh ${JAR_NAME},${ENV},${LOG_HOME},${UPDATE_JAR},${JAR_HOME},${BAK_HOME},${LOG_NAME},${JVM_OPS},${BUILD_ID}
    
    

    编写在服务器10.10.3.88上的/data/vonedao/jar.sh:

    #/bin/sh
    
    string="$*"
    JAR_NAME=`echo $string | awk -F ',' '{print $1}'`
    ENV=`echo $string | awk -F ',' '{print $2}'`
    LOG_HOME=`echo $string | awk -F ',' '{print $3}'`
    UPDATE_JAR=`echo $string | awk -F ',' '{print $4}'`
    JAR_HOME=`echo $string | awk -F ',' '{print $5}'`
    BAK_HOME=`echo $string | awk -F ',' '{print $6}'`
    NAME=`echo $string | awk -F ',' '{print $7}'`
    JVM_OPS=`echo $string | awk -F ',' '{print $8}'`
    BUILD_ID=`echo $string | awk -F ',' '{print $9}'`
    
    
    PID=`pgrep -f "java*.*${JAR_NAME}"`
    
    if [ -f "${JAR_HOME}/${JAR_NAME}" ];then
    cp ${JAR_HOME}/${JAR_NAME} ${BAK_HOME}/${JAR_NAME}_${BUILD_ID}
    fi
    
    cp ${UPDATE_JAR}/${JAR_NAME}  ${JAR_HOME}  -rf
    
    if [ -n "$PID" ]; then
        kill -9 ${PID}
    fi
    
    cd ${JAR_HOME}/
    nohup /data/jdk/bin/java -jar ${JVM_OPS} ./${JAR_NAME} ${ENV} >${LOG_HOME}/${NAME}.log 2>&1 &
    
    

    保存后,构建:


    去服务器10.10.3.88上查看:

  • 相关阅读:
    文字无缝滚动效果,鼠标移入时暂停
    Spring中使用@Autowired注解静态实例对象
    服务器环境搭建
    nexus问题
    useUnicode=true&characterEncoding=UTF-8 的作用
    SpringBoot项目启动时自动执行指定方法
    springboot自定义消息转换器HttpMessageConverter
    kubernetes资源类别介绍
    红黑树与平衡二叉树的比较
    Feign Client的超时时间
  • 原文地址:https://www.cnblogs.com/zoujiaojiao/p/12574016.html
Copyright © 2020-2023  润新知