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 分钟)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/81310.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode打开vue + element项目

好嘞,我帮你详细整理一个用 VS Code 来可视化开发 Vue Element UI 的完整步骤,让你能舒服地写代码、预览界面、调试和管理项目。 用 VS Code 可视化开发 Vue Element UI 全流程指南 一、准备工作 安装 VS Code 官网下载安装:https://code…

黑马程序员C++2024新版笔记 第4章 函数和结构体

目录 1.结构体的基本应用 2.结构体成员的默认值 3.结构体数组 4.结构体指针 ->操作符 5.结构体指针数组 1.引入已存在的结构体数组地址 2.通过new操作符申请指针数组空间 6.函数的概念 7.函数的基础语法 8.无返回值函数和void类型 9.空参函数 10.函数的嵌套调用…

高级前端工程师必备的 JS 设计模式入门教程,常用设计模式案例分享

目录 高级前端工程师必备的 JS 设计模式入门教程,常用设计模式案例分享 一、什么是设计模式?为什么前端也要学? 1、设计模式是什么 2、设计模式的产出 二、设计模式在 JS 里的分类 三、常用设计模式实战讲解 1、单例模式(S…

Ubuntu+Docker+内网穿透:保姆级教程实现安卓开发环境远程部署

文章目录 前言1. 虚拟化环境检查2. Android 模拟器部署3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问小结 6. 固定Cpolar公网地址7. 固定地址访问 前言 本文将详细介绍一种创新性的云开发架构:基于Ubuntu系统构建Android仿真容器环境,并集成安全隧道技…

Linux Kernel调试:强大的printk(一)

引言 想了好久,还是觉得这个标题才配得上printk!^_^ 我相信,不管做什么开发,使用最多的调试手段应该就是打印了,从我们学习编程语言第一课开始,写的第一段代码,就是打印"Hello, world&qu…

基于NLP技术的客户投诉与需求文本分类方法研究

目录 摘要 1. 引言 2. 文本分类基础 2.1 文本分类的定义与类型 2.2 文本分类的评价指标 3. 传统文本分类方法 3.1 基于TF-IDF和SVM的方法 3.2 基于主题模型和词向量的改进方法 4. 深度学习文本分类方法 4.1 TextCNN模型 4.2 BiLSTM模型 4.3 注意力机制与Transformer…

#RabbitMQ# 消息队列入门

目录 一 MQ技术选型 1 运行rabbitmq 2 基本介绍 3 快速入门 1 交换机负责路由消息给队列 2 数据隔离 二 Java客户端 1 快速入门 2 WorkQueue 3 FanOut交换机 4 Direct交换机 5 Topic交换机 *6 声明队列交换机 1 在配置类当中声明 2 使用注解的方式指定 7 消息转…

【深度学习】多目标融合算法(六):渐进式分层提取模型PLE(Progressive Layered Extraction)

目录 一、引言 二、PLE(Progressive Layered Extraction,渐进式分层提取模型) 2.1 技术原理 2.2 技术优缺点 2.3 业务代码实践 2.3.1 业务场景与建模 2.3.2 模型代码实现 2.3.3 模型训练与推理测试 2.3.4 打印模型结构 三、总结 一…

【Java开发日记】如何使用Java开发在线生成 pdf 文档

一、介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票、订单的库存打印单、各种电子签署合同等等,以方便用…

Oracle 11g 单实例使用+asm修改主机名导致ORA-29701 故障分析

解决 把服务器名修改为原来的,重启服务器。 故障 建表空间失败。 分析 查看告警日志 ORA-1119 signalled during: create tablespace splex datafile ‘DATA’ size 2000M… Tue May 20 18:04:28 2025 create tablespace splex datafile ‘DATA/option/dataf…

消息队列的使用

使用内存队列来处理基于内存的【生产者-消费者】场景 思考和使用Disruptor Disruptor可以实现单个或多个生产者生产消息,单个或多个消费者消息,且消费者之间可以存在消费消息的依赖关系 使用Disruptor需要结合业务特性,设计要灵活 什么业务…

《帝国时代1》游戏秘籍

资源类 PEPPERONI PIZZA:获得 1000 食物。COINAGE:获得 1000 金。WOODSTOCK:获得 1000 木头。QUARRY:获得 1000 石头。 建筑与生产类 STEROIDS:快速建筑。 地图类 REVEAL MAP:显示所有地图。NO FOG&#xf…

使用JSP踩过的坑

虽然说jsp已经过时了,但是有时维护比较老的项目还是需要的。 下面说下,我使用jsp踩过的坑: 1.关于打印输出 在jsp中输出使用 out.println("hello");而不是 System.out.println("hello");如果在定义函数部分需要打印…

redis集群创建时手动指定主从关系的方法

适用场景: 创建主从关系时默认参数 --cluster-replicas 1 会自动分配从节点。 为了能精确控制 Redis Cluster 的主从拓扑结构,我们通过 Redis Cluster 的手动分片功能来实现 一、手动指定主从关系的方法 使用 redis-cli --cluster-replicas 0 先创建纯…

ROS合集(七)SVIn2声呐模块分析

文章目录 一、整体思想二、具体误差建模流程三、总结明确(预测值与观测值)四、选点逻辑五、Sonar 数据处理流水线1. ROS Launch 配置(imagenex831l.launch)2. SonarNode 节点(sonar_node.py)3. Subscriber …

Python爬虫实战:研究PySpider框架相关技术

1. 引言 1.1 研究背景与意义 网络爬虫作为互联网数据采集的重要工具,在信息检索、舆情分析、市场调研等领域发挥着重要作用。随着互联网信息的爆炸式增长,如何高效、稳定地获取所需数据成为了一个关键挑战。PySpider 作为一款功能强大的 Python 爬虫框架,提供了丰富的功能…

《大模型开源与闭源的深度博弈:科技新生态下的权衡与抉择》

开源智能体大模型的核心魅力,在于它构建起了一个全球开发者共同参与的超级协作网络。想象一下,来自世界各个角落的开发者、研究者,无论身处繁华都市还是偏远小镇,只要心怀对技术的热爱与追求,就能加入到这场技术狂欢中…

大数据模型对陌生场景图像的识别能力研究 —— 以 DEEPSEEK 私有化部署模型为例

摘要 本研究聚焦于已训练的大数据模型能否识别未包含在样本数据集中的陌生场景图像这一问题,以 DEEPSEEK 私有化部署模型为研究对象,结合机器学习理论,分析模型识别陌生场景图像的影响因素,并通过理论探讨与实际应用场景分析&…

STM32——从点灯到传感器控制

STM32基础外设开发:从点灯到传感器控制 一、前言 本篇文章总结STM32F10x系列基础外设开发实例,涵盖GPIO控制、按键检测、传感器应用等。所有代码基于标准库开发,适合STM32初学者参考。 二、硬件准备 STM32F10x系列开发板LED模块有源蜂鸣器…

[特殊字符] 使用增量同步+MQ机制将用户数据同步到Elasticsearch

在开发用户搜索功能时,我们通常会将用户信息存储到 Elasticsearch(简称 ES) 中,以提高搜索效率。本篇文章将详细介绍我们是如何实现 MySQL 到 Elasticsearch 的增量同步,以及如何通过 MQ 消息队列实现用户信息实时更新…