当前位置: 首页 > news >正文

jenkins使用Send build artifacts over SSH发布jar包目录配置

本测试用ruoyi-plus的代码。 

1 [GitLab 自动触发 Jenkins 构建_jenkins构建触发器没有build when a change is pushed to git-CSDN博客](https://blog.csdn.net/wangyiyungw/article/details/81776972)
2 [jenkins使用Send build artifacts over SSH遇到的坑-CSDN博客](https://blog.csdn.net/goxingman/article/details/129749284)

### 多层级配置ssh远程传送构建物:
1 在ssh配置帐号密码时要配置一个默认的远程目录


2 配置Source files:jenkins工作空间后的打包项目目录:即$SERVER_NAME后面的部分:
```
如:JAR_PATH=/var/lib/jenkins/workspace/$SERVER_NAME/ruoyi-admin/target

ruoyi-admin/target/slcsp-2supply.jar
```

3 配置目录:目标机器的目录:Remote directory[  
](http://192.168.0.243:8081/job/slcsp-2supply/configure# "Help for feature: Remote directory")
如:slcsp/slcsp-2supply
则会把jar包发送给默认远程目录+Remote directory
 

配置后可以看日志


```
#!/bin/sh
#进入jar所在路径
cd /usr/local/slcsp/slcsp-2supply
#查看运行记录,并停止进程
BUILD_ID=DONTKILLME #后台执行
pid=$(ps -ef|grep slcsp-2supply.jar|grep -v grep | awk '{print $2}')
function stop(){
if [ -n "$pid" ]
  then
        echo "pid进程 :$pid"
        kill -9 $pid
 else
    echo "进程没有启动"
fi
}
stop
sleep 5s
#启动运行程序
nohup /usr/local/java/jdk-17.0.11/bin/java -Xms512m -Xmx1024m -jar /usr/local/slcsp/slcsp-2supply/slcsp-2supply.jar   --spring.profiles.active=dev /dev/null 2>&1 &
```

日志:
```
Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts
SSH: Connecting from host [TestServer-1]
SSH: Connecting with configuration [slcsp-dev-239] ...
SSH: Creating session: username [root], hostname [192.168.0.239], port [22]
SSH: Connecting session ...
SSH: Connected
SSH: Opening SFTP channel ...
SSH: SFTP channel open
SSH: Connecting SFTP channel ...
SSH: Connected
SSH: cd [/usr/local]
SSH: OK
SSH: cd [/usr/local]
SSH: OK
SSH: cd [slcsp/slcsp-2supply]
SSH: OK
SSH: put [slcsp-2supply.jar]
SSH: Opening exec channel ...
SSH: EXEC: channel open
SSH: EXEC: STDOUT/STDERR from command
```

问题:

jenkins远程ssh启动程序后日志报错:
SSH: Disconnecting configuration [slcsp-dev-239] ...
ERROR: Exception when publishing, exception message [Exec timed out or was interrupted after 120,006 ms]
Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
Finished: UNSTABLE

解决:

方案一:延长 SSH 执行超时时间
在 Jenkins 配置中调整 SSH 步骤的超时设置:
登录 Jenkins;
进入你的项目配置页面;
找到 Send build artifacts over SSH 步骤;
修改 Exec command timeout (ms) 设置,例如设为 300000(5 分钟);
默认是 120000(2 分钟)

相关文章:

  • AUTOSAR 运行时环境 (RTE)
  • CMake 跨平台构建系统详解
  • C++(26): 标准库 <iterator>
  • 基于python的机器学习(八)—— 评估算法(一)
  • 策略的组合与叠加多策略联合交易
  • 前端面经-nginx/docker
  • RTMP协议解析【三】
  • Linux服务器SOS Report完全指南:收集方法、作用解析与最佳实践
  • WPF···
  • 哥德巴赫猜想
  • 本特利内华达125768-01 RIM i/o模块规范
  • 8.2 线性变换的矩阵
  • QT的自定义控件
  • UI自动化测试框架:PO模式+数据驱动
  • 回表是数据库概念,还是mysql的概念?
  • 业务逻辑篇水平越权垂直越权未授权访问检测插件SRC 项目
  • 86.评论日记
  • 人工智能范式:技术革命下的认知重构
  • 手机充电协议
  • AI智能分析网关V4玩手机检测算法精准管控人员手机行为,搭建智慧化安防监管体系
  • 每天少看1小时手机,就可能有神奇效果
  • 云南旅游市场10条措施征求意见:对强制诱导购物等吊销导游证的不得再次核发
  • 上海乐高乐园客流预测来了:工作日0.8万人次/日,周末节假日2万人次/日
  • 又是“9+2”复式票,浦东退休阿姨擒大乐透1153万头奖
  • 海口警方通报“司机驾车拖行虐猫”:系意外,未发现故意虐猫行为
  • 上海发布台风红色预警?实为演练,今日下午局部中雨下班请注意