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

Jenkins进阶系列之——04Publish Over FTP Plugin插件

说明:这个插件可以将构建的产物(例如:Jar)发布到FTP中去。

官方说明:Publish Over FTP Plugin

安装步骤:

系统管理→管理插件→可选插件→Artifact Uploaders→Publish Over FTP Plugin

系统设置

FTP Server Name:给你自己看的名字,爱叫什么叫什么
Hostname:主机IP或者域名
Username:ftp登陆用户名
Password:ftp密码
Remote Directory:远程根目录(建议设置为:/)
 

 

图1 系统设置基本界面

点击Test Configuration上面的高级,如下图:

Port:端口(不知道问管理员去)

Timeout (ms):超时时间(毫秒)

Use active data mode: (未选中)默认选项使用PASV(被动模式),选中使用PORT (主动模式)

Don't make nested dirs:不创建下级目录(具体的自己看帮助)

图2 系统设置高级界面

上图右下角还有一个高级选项。有兴趣的自己可以折腾下。提示:你需要先保存后,刷新页面,在配置。不然有个选项无法选择的。

 项目配置

启用步骤:

构建后操作→Add post-build action→Send build artifacts over FTP

FTP Server Name:选个一个你在系统设置里配置的配置的名字

Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径,可以是单个文件也可以是目录)

Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)

Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒直接用/)

 

 图3 项目设置基本界面

点击Remote directory后面的高级,如下图

Exclude files:排除的文件(在你传输目录的时候很有用,使用通配符,例如:**/*.log,**/*.tmp,.git/)

Pattern separator:分隔符(配置Exclude files和Source files的分隔符。如果你这儿更改了,上面的内容也需要更改)

No default excludes:禁止默认的排除规则(具体的自己看帮助)

Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。(个人理解)

Flatten files:只在ftp上建立文件,不创建目录(除了远程目录)

Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remote directory中配置日期格式),具体格式参考下表:

Remote directoryDirectories created
'qa-approved/'yyyyMMddHHmmssqa-approved/20101107154555
'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}'builds/2010/11/07/build-456 (if the build was number 456)
yyyy_MM/'build'-EEE-d-HHmmss2010_11/build-Sun-7-154555
yyyy-MM-dd_HH-mm-ss2010-11-07_15-45-55

Clean remote:上传前会删除远程目录中的所有的文件(血的教训啊,测试的时候用的是运营小组的ftp,然后一不小心就把他们的数据删除了,害的我去做数据恢复。)

ASCII mode:文件传输的方式,一般默认不选。

 

  图4 项目设置高级界面

 好了,常用的选项就这些,其他的自己折腾吧。这个插件适合动手能力强的人。

转载于:https://www.cnblogs.com/missinglihua/p/6904739.html

相关文章:

  • HashMap的长度为什么要是2的n次方
  • mysql主从复制配置过程及演示
  • [坑]解决Spring利用注解@Value获取properties属性为null或@Autowired 注解为null
  • 如何让git小乌龟工具TortoiseGit记住你的账号密码
  • POJ3013 Big Christmas Tree
  • 飘逸的python - 实现一个极简的优先队列
  • Linux常用查找命令
  • 留存- angularjs 弹出框 $modal
  • 矩阵相乘,向量相乘,矩阵向量相乘
  • Spring中基于Java的配置@Configuration和@Bean用法
  • 阿里技术面试题全面覆盖?不服,你来补充
  • Atitit mysql 存储过程捕获所有异常,以及日志记录异常信息
  • Android新手引导View
  • [Fri 26 Jun 2015 ~ Thu 2 Jul 2015] Deep Learning in arxiv
  • 删除表A的记录时,Oracle 报错:“ORA-02292:违反完整约束条件(XXX.FKXXX)- 已找到子记录...
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Mybatis初体验
  • Next.js之基础概念(二)
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • tensorflow学习笔记3——MNIST应用篇
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 机器学习中为什么要做归一化normalization
  • 如何解决微信端直接跳WAP端
  • 项目实战-Api的解决方案
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 在Unity中实现一个简单的消息管理器
  • 怎么将电脑中的声音录制成WAV格式
  • 【云吞铺子】性能抖动剖析(二)
  • linux 淘宝开源监控工具tsar
  • 仓管云——企业云erp功能有哪些?
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 进程与线程(三)——进程/线程间通信
  • #if 1...#endif
  • #Z0458. 树的中心2
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (三)终结任务
  • (五)Python 垃圾回收机制
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET 服务 ServiceController
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • /boot 内存空间不够
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • /var/lib/dpkg/lock 锁定问题
  • @test注解_Spring 自定义注解你了解过吗?
  • [04]Web前端进阶—JS伪数组
  • [1181]linux两台服务器之间传输文件和文件夹
  • [AR Foundation] 人脸检测的流程
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [C#]winform部署yolov5-onnx模型