Jenkins通过FTP上传站点太多文件导致太慢且不稳定,切换为压包上传再解压的思路(asp.net)...
在本地先处理好要上传的站点文件之后,可能会因为一些网页切图导致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.bug场景描述 今天分到一个bug,场景是这样的,项目中有一个上传文件夹的功能,使用了foreach循环请求接口上传文件,但是如果选择文件夹中图片太多,相当于浏览器在超短时间内发送极多的网络请求( ...
- 上传到服务器的文件没了,ftp上传到服务器没有文件
ftp上传到服务器没有文件 内容精选 换一换 工具中所有涉及上传文件功能的,如果需要上传的文件大于500MB或者解压后大于1GB,需要手动将文件上传至服务器,其他情况可通过Web界面上传功能上传. 通 ...
- Jenkins使用FTP进行一键部署及回滚(Windows)
前提条件: 1.必须有两台服务器,一个是生产环境,另一个是测试环境. 2.两台服务器上都必须安装了Jenkins. 3.其中,生产环境上的Jenkins已经开通的CLI的权限(Windows参考:ht ...
- Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践)
前提: 这一篇是继上一篇http://www.cnblogs.com/EasonJim/p/6092938.html的真实项目实践. 思路和大致实现步骤请参照上一篇文章. 注意:这篇文章涉及到两台服务 ...
- Struts2 - 上传任意多个文件
Struts2 - 上传任意多个文件 一.上传单个文件 在Struts1.x中已经提供了用于上传文件的组件.而在Struts2中提供了一个更为 容易操作的上传文件组件.所不同的是,Struts1.x的 ...
- java上传rar文件_java实现上传zip/rar压缩文件,自动解压
在pom中添加解压jar依赖 4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.2.RELEASE com.hf uncomp ...
- Struts2教程7:上传任意多个文件
2019独角兽企业重金招聘Python工程师标准>>> 一.上传单个文件 上传文件是很多Web程序都具有的功能.在Struts1.x中已经提供了用于上传文件的组件.而在Struts2 ...
- java csv文件tozip后损坏_java上传并下载以及解压zip文件有时会报文件被损坏错误分析以及解决...
情景描述: 1.将本地数据备份成zip文件: 2.将备份的zip文件通过sftp上传到文件服务器: 3.将文件服务器上的zip文件下载到运行服务器: 4.将下载的zip文件解压到本地(文件大小超过50 ...
- java实现上传zip/rar压缩文件,自动解压
在pom中添加解压jar依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q ...
- 解压上传zip文件并获取excel表数据
1.maven <!-- 解压rar --><dependency><groupId>com.github.junrar</groupId><ar ...
最新文章
- 如何判断 Linux 是否运行在虚拟机上
- macrotask和microtask以及EventLoop的介绍
- ubuntu14测试mysql_在ubuntu14.04中安装Hammerora-2.10——测试mysql、oracle性能够的工具...
- ViewGroup的测量及绘制
- MacOSX系统下HomeBrew安装指定版本的软件 IntelliJ IDEA 设置多个Go语言版本开发
- SQL查询重复记录,删除重复记录
- mysql 事务处理null_如何使用Mysql正确的处理财务数据
- nginx+tomcat+msm实现seesion共享
- 如何避免贫穷和忙碌,在2018年你需要这样提升自己
- 推荐的C++书籍以及阅读顺序
- 值得收藏的网站----安全
- 9、二极管的伏安特性
- latex加下划线_给latex文字加下划线和高亮显示
- 自然语言处理领域介绍
- 语音识别之Fbank特征提取工具的比较(kaldi、python_speech_features、torchaudio)
- linux内核一直输出系统日志,系统日志出现大量:kernel: printk: xxxx messages suppressed...
- 关于js中绑定事件失效问题
- 大数据时代医疗大数据建设,主要存在哪些问题?
- npm 安装淘宝镜像报错 npm ERR! code EEXIST
- 前端项目搭建部署全流程(一):搭建React项目
热门文章
- [转]laravel 4之视图及Responses
- AJAX 必用的情况(待选........)
- Hotpatching a C Function on x86
- RTP、RTCP及媒体流同步
- Linux虚拟文件系统之文件系统安装(sys_mount())
- Linux时间子系统之一:clock source(时钟源)
- Linux串口驱动(8250)的编写与调试
- SylixOS freescale powerpc p4080 pci msi 中断驱动
- K - 最少拦截系统(动态规划)
- 虚拟机设计与实现:以jvm为例 pdf_Java虚拟机:Jvm概念和原理详解以及GC机制的分析...