在本地先处理好要上传的站点文件之后,可能会因为一些网页切图导致ftp上传不稳定,中断,或者文件占用的问题。

那么换了一种实现思路,要借助jenkins的工具jenkins-cli.jar。

解决思路:

1、本地处理好要上传的站点文件,通过压缩软件进行打包,其中压包的命名有规律,比如日期+BuildID的形式。

2、用FTP插件进行上传到外网的目录。

3、外网的机器上也同样安装Jenkins的环境,并新建好一个Job,这个Job增加参数化构建,参数为BuildID,然后增加批处理进行BuildID的压缩包查找并解压。

4、本地的Jenkins构建好Job之后,再通过jenkins-cli.jar调用外网的解压Job进行解压。

这样一来,解决了零碎文件的上传速度限制。

主要的解决步骤:

0、新建工程名:

1、外网机器上的Job上添加参数化构建(2.x默认已经安装此插件,不需要安装其它)

2、外网机器上获取Job上传入的参数,可以利用参数进行批处理的查找解压

以下为批处理,其中参数为构建工程的输入参数,其中备份操作上我直接排除了一些没必要的文件夹内容

echo [INFO] 备份压缩操作
call C:\"Program Files"\WinRAR\Rar.exe a -x*\Upload* -x*\ueditor* -x*\UploadFolder* -x*\DownloadFile* -x*\ErrorLog* -x*\LogFiles* %FilePath%.bak.rar %UnzipPath%
echo [INFO] 解压操作
call c:\"Program Files"\winrar\rar.exe x -ep2 -o+- %FilePath% %UnzipPath%

3、本地的Jenkins处理好打包站点文件并通过FTP上传后,通过jenkins-cli.jar的远程调用上面的外网工程(jenkins-cli.jar默认放在jenkins的安装目录Jenkins\war\WEB-INF\jenkins-cli.jar)

echo [INFO] 通过CLI调用公网Jenkins进行解包
java -jar "C:\Program Files (x86)\Jenkins\war\WEB-INF\jenkins-cli.jar" -s http://192.168.199.2:8080/ build Unzip -p FilePath=E:\wwwroot\inetpub\bak\%BUILD_ID%.push.rar -p UnzipPath=E:\wwwroot\inetpub\wwwroot\Green --username administrator --password administrator

上面的意思是:构建UnZip的项目,传入了BUILD_ID这个参数值(这个是约定好的文件名方式,采用jenkins的buildid去找到文件),后面是登录的管理员账号密码。

==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==

Jenkins通过FTP上传站点太多文件导致太慢且不稳定,切换为压包上传再解压的思路(asp.net)...相关推荐

  1. 如何解决批量上传太多文件导致浏览器挂掉的问题(已解决)

    1.bug场景描述 今天分到一个bug,场景是这样的,项目中有一个上传文件夹的功能,使用了foreach循环请求接口上传文件,但是如果选择文件夹中图片太多,相当于浏览器在超短时间内发送极多的网络请求( ...

  2. 上传到服务器的文件没了,ftp上传到服务器没有文件

    ftp上传到服务器没有文件 内容精选 换一换 工具中所有涉及上传文件功能的,如果需要上传的文件大于500MB或者解压后大于1GB,需要手动将文件上传至服务器,其他情况可通过Web界面上传功能上传. 通 ...

  3. Jenkins使用FTP进行一键部署及回滚(Windows)

    前提条件: 1.必须有两台服务器,一个是生产环境,另一个是测试环境. 2.两台服务器上都必须安装了Jenkins. 3.其中,生产环境上的Jenkins已经开通的CLI的权限(Windows参考:ht ...

  4. Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践)

    前提: 这一篇是继上一篇http://www.cnblogs.com/EasonJim/p/6092938.html的真实项目实践. 思路和大致实现步骤请参照上一篇文章. 注意:这篇文章涉及到两台服务 ...

  5. Struts2 - 上传任意多个文件

    Struts2 - 上传任意多个文件 一.上传单个文件 在Struts1.x中已经提供了用于上传文件的组件.而在Struts2中提供了一个更为 容易操作的上传文件组件.所不同的是,Struts1.x的 ...

  6. java上传rar文件_java实现上传zip/rar压缩文件,自动解压

    在pom中添加解压jar依赖 4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.2.RELEASE com.hf uncomp ...

  7. Struts2教程7:上传任意多个文件

    2019独角兽企业重金招聘Python工程师标准>>> 一.上传单个文件 上传文件是很多Web程序都具有的功能.在Struts1.x中已经提供了用于上传文件的组件.而在Struts2 ...

  8. java csv文件tozip后损坏_java上传并下载以及解压zip文件有时会报文件被损坏错误分析以及解决...

    情景描述: 1.将本地数据备份成zip文件: 2.将备份的zip文件通过sftp上传到文件服务器: 3.将文件服务器上的zip文件下载到运行服务器: 4.将下载的zip文件解压到本地(文件大小超过50 ...

  9. java实现上传zip/rar压缩文件,自动解压

    在pom中添加解压jar依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q ...

  10. 解压上传zip文件并获取excel表数据

    1.maven <!-- 解压rar --><dependency><groupId>com.github.junrar</groupId><ar ...

最新文章

  1. 如何判断 Linux 是否运行在虚拟机上
  2. macrotask和microtask以及EventLoop的介绍
  3. ubuntu14测试mysql_在ubuntu14.04中安装Hammerora-2.10——测试mysql、oracle性能够的工具...
  4. ViewGroup的测量及绘制
  5. MacOSX系统下HomeBrew安装指定版本的软件 IntelliJ IDEA 设置多个Go语言版本开发
  6. SQL查询重复记录,删除重复记录
  7. mysql 事务处理null_如何使用Mysql正确的处理财务数据
  8. nginx+tomcat+msm实现seesion共享
  9. 如何避免贫穷和忙碌,在2018年你需要这样提升自己
  10. 推荐的C++书籍以及阅读顺序
  11. 值得收藏的网站----安全
  12. 9、二极管的伏安特性
  13. latex加下划线_给latex文字加下划线和高亮显示
  14. 自然语言处理领域介绍
  15. 语音识别之Fbank特征提取工具的比较(kaldi、python_speech_features、torchaudio)
  16. linux内核一直输出系统日志,系统日志出现大量:kernel: printk: xxxx messages suppressed...
  17. 关于js中绑定事件失效问题
  18. 大数据时代医疗大数据建设,主要存在哪些问题?
  19. npm 安装淘宝镜像报错 npm ERR! code EEXIST
  20. 前端项目搭建部署全流程(一):搭建React项目

热门文章

  1. [转]laravel 4之视图及Responses
  2. AJAX 必用的情况(待选........)
  3. Hotpatching a C Function on x86
  4. RTP、RTCP及媒体流同步
  5. Linux虚拟文件系统之文件系统安装(sys_mount())
  6. Linux时间子系统之一:clock source(时钟源)
  7. Linux串口驱动(8250)的编写与调试
  8. SylixOS freescale powerpc p4080 pci msi 中断驱动
  9. K - 最少拦截系统(动态规划)
  10. 虚拟机设计与实现:以jvm为例 pdf_Java虚拟机:Jvm概念和原理详解以及GC机制的分析...