使用jenkins的SSH Publishers远程执行
https://www.cnblogs.com/zoujiaojiao/p/12574016.html
使用jenkins的SSH Publishers远程执行
配置 SSH Servers
如图,系统管理->系统设置->SSH Servers 点击
往下翻到:
远程脚本功能说明
本次远程脚本需要实现:
a.将WORKERSPACE下面的包传到远程服务器上
b.备份包
c.更新包
d.kill掉旧得进程
e.启动进程
具体操作:
-
添加git仓库登录的账户
-
配置git仓库地址:
创建一个自由风格的项目,给项目配置: -
配置构建命令:
-
配置远程机器:
在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上查看:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2018-12-03 k8s 常用命令汇集
2018-12-03 13 款高逼格且实用的 Linux 运维必备工具