jenkins中使用脚本来节省资源空间和使用shell提取文件名或目录名的方法

来源:互联网 发布:登录无限极网络 编辑:程序博客网 时间:2024/05/29 17:03

环境

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##*/}

mvlib.sh的内容就是:

#!/bin/bashcd $1mv `find . -path "*/lib/*"  -name "*.jar"` ../lib/

稍微讲解下:

${WORKSPACE%/*} 中的WORKSPACEjenkins的内置变量,表示当前项目的工作目录。而后面的%/*的意思是从右边开始的第一个/(包括/)开始,后面的内容都删除掉。
比如:WORKSPACE的路径是:/home/jenkins/workspace/ggnews-pro
那么${WORKSPACE%/*},显示的结果就是:/home/jenkins/workspace

${WORKSPACE##*/}中的##*/表示的是从左边开始,删除最后一个/以后的内容,包括/

${WORKSPACE##*/}结果就是:ggnews-pro

这一块可以参考: Linux shell 之 提取文件名和目录名的一些方法

总结

这一块是纯脚本知识。

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 科目一成绩单丢了怎么办 考科目二身份证丢了怎么办 考科目三身份证丢了怎么办 考科目一身份证丢了怎么办 滴滴顺风车被永久封禁怎么办 三岁宝宝智力发育迟缓怎么办 学车体检听力没过怎么办 学车体检听力不过关怎么办 离职体检发现听力有问题怎么办 买的二手房土地证没过户怎么办 b2扣了9分怎么办 上海网约车车证怎么办 b2驾照累计12分怎么办 c1本扣满12分怎么办 太原公共自行车丢了怎么办 在太原出租车丢了东西怎么办 太原社保卡丢了怎么办 太原铁路医保卡丢了怎么办 学车体检视力不合格怎么办 换驾照色弱被拒怎么办 在上海考驾照贵怎么办 驾驶证有效期过了半年怎么办 资格证脱审2年了怎么办 换驾驶证时眼睛近视了怎么办 违章累计扣12分怎么办 一个违章扣12分怎么办 a1驾照扣3分怎么办 a1驾照扣12分怎么办 吃了毓婷哺乳了怎么办 吃了毓婷后出血怎么办 吃金毓婷喝了水怎么办 白带浓稠浆糊样怎么办 驾校学费不给退怎么办 b1驾证扣了9分怎么办 机动车登记证丢了怎么办 b1驾照扣了9分怎么办 听力正常体检不过关怎么办 做完人流第二天同房了怎么办 医院的票据丢了怎么办 体检人体成分(脂肪缺乏)该怎么办 诊断出右下叶肺炎怎么办