jenkins中使用脚本来节省资源空间和使用shell提取文件名或目录名的方法
2019独角兽企业重金招聘Python工程师标准>>>
环境
Linux:5.5
jenkins:2.5
场景
由于公司的项目不断增多,导致jenkins拉取的项目也就越来越多,项目的代码、jar包、资源文件,占用了很多磁盘空间;而且有些资源是重复的!
比如项目的jar包就是重复的。
当项目部署到jenkins后,jenkins会给每个项目都创建一个工作目录,这个工作目录就是里面就是我们拉取的项目。
今天jenkins,出现不能使用的情况,原因是磁盘空间不够,我之前也处理过一次,
可以参考 centos7中根据文件大小排序以及jenkins配置每周删除一次jobs日志信息。
而这次磁盘不够处理情形是:Linux中启动jenkins时报No space left on device错误的解决办法。
基于上面的情形,我想了下,还可以优化下,就是把jar包统一放到一个目录下。
目录结构
我jenkins项目代码路径:/home/jenkins/workspace。
下图是里面的项目名:
脚本
完整的脚本,很简单:
cd ${WORKSPACE%/*}
./mvlib.sh ${WORKSPACE##*/}
1
2
而mvlib.sh的内容就是:
#!/bin/bash
cd $1
mv `find . -path "*/lib/*" -name "*.jar"` ../lib/
1
2
3
稍微讲解下:
${WORKSPACE%/*} 中的WORKSPACE是jenkins的内置变量,表示当前项目的工作目录。而后面的%/*的意思是从右边开始的第一个/(包括/)开始,后面的内容都删除掉。
比如:WORKSPACE的路径是:/home/jenkins/workspace/ggnews-pro
那么${WORKSPACE%/*},显示的结果就是:/home/jenkins/workspace
${WORKSPACE##*/}中的##*/表示的是从左边开始,删除最后一个/以后的内容,包括/。
${WORKSPACE##*/}结果就是:ggnews-pro。
这一块可以参考: Linux shell 之 提取文件名和目录名的一些方法
总结
这一块是纯脚本知识。
---------------------
作者:山鬼谣me
来源:CSDN
原文:https://blog.csdn.net/u013066244/article/details/76458941
版权声明:本文为博主原创文章,转载请附上博文链接!
转载于:https://my.oschina.net/u/4000302/blog/3051425
jenkins中使用脚本来节省资源空间和使用shell提取文件名或目录名的方法相关推荐
- Jenkins中运行脚本提示“Permission denied”,没有权限解决方法(MacOS)
如题,在Jenkins中执行脚本时,提示"Permission denied",报错信息如下: 解决方法:在执行命令前,加上sudo,如图
- Jenkins执行脚本,提示“sudo: no tty present and no askpass program specified”解决方法
如题,在Jenkins中执行脚本时,提示"sudo: no tty present and no askpass program specified",报错信息如图: 以上报错是由 ...
- plsql如何执行单个语句_在单个try-with-resources语句中仔细指定多个资源
plsql如何执行单个语句 Java 7最有用的新功能之一是引入了try-with-resources语句 [AKA 自动资源管理 ( ARM )]. try-with-resources语句的吸引力 ...
- 在单个try-with-resources语句中仔细指定多个资源
Java 7更有用的新功能之一是引入了try-with-resources语句 [AKA 自动资源管理 ( ARM )]. try-with-resources语句的吸引力在于其承诺 "确保 ...
- 比 Bloom Filter 节省25%空间!Ribbon Filter 在 Lindorm中的应用
1 前言 Lindorm是一个低成本高吞吐的多模数据库,目前,Lindorm是阿里内部数据体量最大,覆盖业务最广的数据库产品.超高的性能和低RT一直是Lindorm追求的目标,因此Lindorm也在不 ...
- 比 Bloom Filter 节省25%空间!Ribbon Filter 在 Lindorm 中的应用
1 前言 Lindorm是一个低成本高吞吐的多模数据库,目前,Lindorm是阿里内部数据体量最大,覆盖业务最广的数据库产品.超高的性能和低RT一直是Lindorm追求的目标,因此Lindorm也在不 ...
- python传奇自动打怪脚本_传奇自动刷怪脚本,节省服务器资源
传奇自动刷怪脚本,节省服务器资源 人到怪到,人走怪没,节省服务器资源哦! [@main] #if checkhum d716 1 checkmonmap d716 20 #act goto @exit ...
- 运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)
对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮 ...
- 节省磁盘空间的新一代包管理工具PNPM
在使用前端工具时,yarn.npm都是大家常用的包管理器,但是如果有多个项目使用了同一个依赖的时候,就会在硬盘里保存相应的副本,一旦这个多个项目变得数字很大,那么这个硬盘空间也是会逐渐吓人的. 所以今 ...
最新文章
- keras 的 example 文件 imdb_fasttext.py 解析
- 如何清空DNS缓存Windowslinux
- 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
- 利用Maya进行论文中网格动画数据的渲染
- python教程怎么读_python怎么读本地文件
- devops项目经理_DevOps:如何避免交接导致项目死亡
- Linux内存管理:内存描述之高端内存
- python自带网页解析器_Python爬虫Chrome网页解析工具-XPath Helper
- 【公开课视频】ASP.NET MVC+EF入门-20130315
- showdialog url访问页面_静态url在搜索引擎优化中的重要作用
- Javascript语言精粹--The Excellence in Javascript
- 各种采样,上采样,下采样,欠采样,子采样
- 知其然就够了——大数据时代的思考之一
- 新媒体运营之如何低成本,有效地进行企业公众号拉新,获取10万+潜在用户? 黎想
- 《Windows 8 权威指南》——第2章 Windows 8 Metro应用 2.1 打造快速流畅的动态Windows 8 Metro应用体验...
- 计算机主机核心通常包括,2017年计算机一级复习试题及答案解析
- 云服务器大数据高可用集群搭建-----hadoop篇
- 音视频开发系列(15):视频与音频同步
- 网站制作中 电脑网站与手机网站有哪些区别?
- ABeam( 德硕 ) 携手北京优锘科技共同探讨”数字孪生可视化运营”方案