jenkins使用ftp工具,上传文件至服务器报错“Could not write file”

一、错误说明

  • 使用ftp上传文件
ERROR: Exception when publishing, exception message [Could not write file. Server message: [553 Could not create file.]]11:12:45  FTP: Connecting from host [test-xxx-java-user-service-3-932ft-hsb69-t5wmf]
11:12:45  FTP: Connecting with configuration [ftp_java_test] ...
11:12:45  FTP: Disconnecting configuration [ftp_java_test] ...

在这里插入图片描述

  • 错误分析
    jenkinsfile是同一份代码,只是不同的项目而已。
    ftp是连接正常的,现在是上传文件出现错误。
    所以,我没有去往ftp的配置上考虑。ftp服务器是我们自搭的,模式为被动模式。见ftp配置详情:
    在这里插入图片描述
    点击高级,可以看到,我们并未使用主动模式。

在这里插入图片描述
使用Transmit连接ftp也正常,而且目录也已创建。
所以排查了文件目录不存在导致上传文件失败的疑虑。

二、万事不决问chatgpt

我果断把错误详情,一键发送给chatgpt,看看他老人家是如何回复的。
在这里插入图片描述

  • 1、目标文件夹是否存在
    上文已经说明,目标文件夹是存在的。
  • 2、磁盘空间
    空间杠杠滴,完全满足磁盘存储的需求。
  • 3、权限问题
    这让我想到了,是不是用户的权限问题了。在jenkins里,上传用户是xxdevuser,而已存在的文件所属用户却是root。见下图:
    在这里插入图片描述

说到这里,问题就很明显了。

由于在2022年份已上传过了两个文件,所属用户为root,现在却是用户xxdevuser想要覆盖它们。

三、解决报错

问题已经找到了,要解决就容易了。删掉已存在的两个文件,再次Jenkins打包上传文件。

在这里插入图片描述

  • 当然,你也可以使用ssh进行上传,效果相同。

13:31:04  >>>>>>>>>>upload jar and md5!!!>>>>>>>>>>
[Pipeline] }
13:31:04  
[Pipeline] // ansiColor
[Pipeline] withCredentials
13:31:04  Masking supported pattern matches of $identity
[Pipeline] {
[Pipeline] sshCommand
13:31:09  Executing command on ssh[192.168.10.15]: mkdir -p /opt/app/user-service sudo: false
[Pipeline] sshPut
13:31:13  Sending a file/directory to ssh[192.168.10.15]: from: /opt/.m2/java-workspaces/TEST_xxx_java_user-service/user-service/target/user-service.jar into: /opt/app/user-service
13:31:13  Sending a file/directory to ssh[192.168.10.15]: from: /opt/.m2/java-workspaces/TEST_xxx_java_user-service/user-service/target/user-service.jar.md5 into: /opt/app/user-service

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

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

相关文章

Openlayers实战:自定义版权属性信息

Openlayers地图中,通常会展示地图的一个版权信息,这里面涉及到地图层的版权信息内容,还涉及到control中的Attribution的设置,本实战示例中,通过灵活的属性配置,显示了还是大剑师兰特的博客版权信息,点击是可以跳转的。 效果图 源代码 /* * @Author: 大剑师兰特(xiaoz…

亚马逊云科技自研芯片,为企业云服务提高性价比

6月27日至28日,2023亚马逊云科技中国峰会于上海顺利召开。在本次峰会上,似乎找寻到了云计算领域竞争对手均日渐成熟,而亚马逊云科技却能一直保持领先地位的原因——过去的十几年里,亚马逊云科技“基于客户需求,快速进行…

2023,中国电商重回元老时代

中国的历史上不缺“太上皇”,但“太上皇”再度站到台前的很少。公元1457年,被囚禁在南宫的“太上皇”朱祁镇复位,上演了中国历史上少见的南宫复辟。而危机时刻被推举为皇帝的朱祁钰,后来的庙号是代宗,阴阳怪气十足。 …

【Unity实战】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(二)

文章目录 前言一、火箭筒1. 编写火箭筒脚本2. 创建火箭弹和新爆炸特效的预制体3. 编写火箭弹脚本4. 设置好火箭弹和火箭筒的脚本和参数5. 运行效果 二、激光枪1. 编写激光枪脚本2. 先运行游戏,看看效果3. 美化射线4. 完善代码5. 再次运行游戏6. 升级URP项目7. 后处理…

Elasticsearch(1)——倒排索引与HTTP操作Elasticsearch

文章目录 1 前言2 Elasticsearch 安装3 数据格式4 倒排索引5 常用HTTP请求操作Elasticsearch5.1 创建索引5.2 查询索引信息5.3 删除索引5.4 创建/修改文档5.5查找文档5.6局部修改文档5.7删除文档5.8分页查询 1 前言 Elastic Stack 核心产品包括 Elasticsearch【存储数据】、Ki…

【观察者模式】 ——每天一点小知识

💧 观察者模式 \color{#FF1493}{观察者模式} 观察者模式💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳 《数据结构与算法》专栏的文章图文并茂🦕…

Lucene介绍与入门使用

https://github.com/apache/lucene Lucene简介 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎…

【可爱少女】InsCode Stable Diffusion 美图活动一期

在线运行地址 https://inscode.csdn.net/inscode/Stable-Diffusion 模型相关版本和参数配置 Steps(采样迭代步数): 20 Sampler(采样方法): Euler a 采样迭代步数(Steps)Sampling steps:20 生成批次:1 批次…

QScintilla自制代码编辑器系列(1)编译库文件与运行测试例子

1.下载工程源码 我本人机器上的QT是6.4 可以下载最新的代码 https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.14.0/QScintilla_src-2.14.0.zip 2. 编译生成文件 无需改动可以顺利生成库文件 3. 运行例子 1)拷贝头文件 将整个Qsci文件夹拷…

Spark计算引擎介绍

1. Spark是什么 Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。 Spark是加州大学伯克利分校的AMP实验室(Algorithms, Machines and People Lab)开源的类Hadoop MapReduce的通用并行框架,拥有Hadoop MapReduce所具有的优点&…

Android Studio实现内容丰富的安卓物业管理平台

如需源码可以添加q-------3290510686,也有演示视频演示具体功能,源码不免费,尊重创作,尊重劳动。 项目编号102 1.开发环境 android stuido3.6 jak1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.查看公告…

Linux中Docker详细安装说明

1.准备环境 说明:准备Linux系统centos7版本(以上) 2.切换管理模式 说明:输入一下命令,然后回车,输入密码。 su – 3.更新yum 说明:为了保证doker能够给顺利安装,那么更新一下;如果没有也可以…