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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值