Jenkins带有Publish over FTP插件,安装后并使用它就能实现FTP上传,可以用于构建后的发包操作。我们在系统管理中配置好FTP Servers后,并测试连接通过,按理在Job配置中用Publish over FTP按官网的配置说明进行配置(Publish Over FTP Plugin),构建后就能正常上传文件。可是我们可能会遇到以后问题:

问题一:不支持中文目录

报错如下:

关看报错提示一般人打死都想不到是中文目录引起的,如果知道其实解决起来很容易,做如下配置:

【系统管理】->【系统设置】->【Publish over FTP】->高级:【Control encoding】->输入【UTF-8】或者【GB2312】

虽然Jenkins说明中推荐中文配置为GB2312,但其实我们一般通用的作法是设置为UTF-8,兼容各类操作系统和构建环境。

问题二:不支持FTP被动模式(PASV)

报错如下:

上网查有关FTP报502 Command not implemented错误,可能都会说到要开启FTP被动(PASV)模式,那解决方法就有两种了,一种是在FTP服务端开启PASV被动模式(一般默认两种模式都开启了,但不排除没有开启的情况,就导致这个问题)。我们通过FlashFXP工具去连接FTP服务器,也能看出是否开启了PASV模式:

可以看出FTP客户端默认都是用PASV模式去连接服务端,如果连接失败后会自动转为PORT主动模式,说明我们的Jenkins不会自动去转换连接模式,所以导致了上传文件报502错误。

所以,另一种方式就是改变Jenkins的连接模式,通过官网也能找到这一段话:

Use active data mode
By default passive mode will be used to connect to the FTP Server.
In passive mode the client initiates all connections which will allow the client to send files through a firewall that has been configured to refuse all inbound connections (and does not create dynamic rules).
If you want to dissable passive mode, and have the client use PORT commands for the server to connect to the client to retieve the files, then you can check this box.

从这段话可以看出,我们是需要自己设置连接模式的(默认是PASV模式,至于PORT与PASV两种模式的区别,可以上网百度),配置如下:

系统管理】->【系统设置】->【Publish over FTP】->高级:勾选【Use active data mode】

保存设置后,再次构建项目,就能看到FTP上传成功了!

Jenkins使用FTP上传文件报错问题处理相关推荐

  1. ftp上传文件报错 Unexpected null reply received

    记一次ftp上传文件失败报错 ftp在上传文件时报错,报错信息如下: Caused by: java.io.IOException: Unexpected null reply receivedat ...

  2. FTP上传文件报错200 PORT command successful. Consider using PASV. 553 Could not create file.

    一.背景 最近搭好的在云主机上搭好了nginx,打算通过ftp上传一个静态的网页上去test一波,然后进去了ftp,在上面put了一下,结果没有看到想象中上传成功的样子,看到的是200 PORT co ...

  3. ftp上传文件报错“200 Type set tol.200 PORT command scesful.4MUM np for he Uicde hater eit inte onetmult”

    上传文件名是中文导致的 解决办法 文件名使用英文字符

  4. Spring MVC实现上传文件报错解决方案

    Spring MVC实现上传文件报错解决方案 参考文章: (1)Spring MVC实现上传文件报错解决方案 (2)https://www.cnblogs.com/liuling/p/2014-3-5 ...

  5. laravel上传文件报错:413 Request Entity Too Large

    上传图片的时候,是用laravel自带的上传图片的方法,一下气上传了20张,结果就无情报错: 413 Request Entity Too Large,后面查一下,这个报错信息是nginx报的错误,不 ...

  6. Linux - xshell上传文件报错乱码

    xshell上传文件报错乱码,解决方法 rz -be 回车 下载sz  filename 转载于:https://www.cnblogs.com/RzCong/p/8600899.html

  7. 上传文件报错500或者文件大于2M上传不上去解决方法

    上传文件报错500或者文件大于2M上传不上去解决方法 参考文章: (1)上传文件报错500或者文件大于2M上传不上去解决方法 (2)https://www.cnblogs.com/sillong/p/ ...

  8. ajax上传文件报错The current request is not a multipart request的解决办法

    ajax上传文件报错The current request is not a multipart request的解决办法 主要报错语句为: The current request is not a ...

  9. 金蝶中间件上传文件报错

    金蝶中间件上传文件报错 上传文件报错,见下图:allowCasualMultipartParsing is false,no MultipartConfig,so no parse! 解决办法: 在w ...

最新文章

  1. java局部变量全局变量,实例变量的理解
  2. Ubantu Mark
  3. python dlib学习(九):人脸聚类
  4. Web前端饱和了?还能学Web前端吗?
  5. Java:数值-字符串转换(String转Double)
  6. Pi network KYC的经验分享
  7. 微型计算机主机箱内的所有部件均由大规模,2012年自考《计算机应用基础》模拟试题...
  8. Spring Cloud构建微服务架构—服务网关过滤器
  9. 浅谈实时语音质量监控系统
  10. 从负指数分布/泊松分布到排队论(经理能扣篮,但不经常也不绝对)
  11. DEM生成等高线及提取等高线3+1种方法
  12. 树莓派存储方案_树莓派网络存储(NAS)
  13. InfoPath 2007表单应用
  14. IBM沃森对哈利波特各大主角的人格分析
  15. 5分钟搞定 微信早安推送 升级版
  16. 大地坐标系转换地心坐标系
  17. 华为服务器系列产品介绍,裸金属服务器产品介绍
  18. linux延时函数及头文件,linux延时函数
  19. Linux安装配置MySQL8.0 打war包 启动项目
  20. [LeetCode]179. Largest Number

热门文章

  1. selenium自动化图片不加载设置
  2. java事件溯源_领域事件与事件溯源 - 解道Jdon
  3. 微信公众号平台如何批量给粉丝自动打标签分组
  4. matlab里vSAS,科学网—【MATLAB】saveas和print保存图片的格式 - 叶瑞杰的博文
  5. 物是人非事事休,欲语泪先流 的出处[z]
  6. 英语计算机手抄报图片大全,五年级英语手抄报图片大全
  7. 最终分化的SH-SY5Y细胞为研究多巴胺激动剂的神经保护作用提供了一个模型系统
  8. 湖北移动M411A_ZN-S905L3AB-UWE5621DS原机制作语音线刷包
  9. hive练习题(二)计算用户的复购率和回购率
  10. 深度学习-自然语言模型