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%/*}
中的WORKSPACE
是jenkins
的内置变量,表示当前项目的工作目录。而后面的%/*
的意思是从右边开始的第一个/
(包括/
)开始,后面的内容都删除掉。
比如:WORKSPACE
的路径是:/home/jenkins/workspace/ggnews-pro
那么${WORKSPACE%/*}
,显示的结果就是:/home/jenkins/workspace
${WORKSPACE##*/}
中的##*/
表示的是从左边开始,删除最后一个/
以后的内容,包括/
。
${WORKSPACE##*/}
结果就是:ggnews-pro
。
这一块可以参考: Linux shell 之 提取文件名和目录名的一些方法
总结
这一块是纯脚本知识。
- jenkins中使用脚本来节省资源空间和使用shell提取文件名或目录名的方法
- Linux的shell提取文件名和目录名的方法
- Linux shell中提取文件名和目录名的一些方法
- shell 提取文件名和目录名
- shell提取文件名和目录名
- Linux shell 提取文件名和目录名
- Linux shell 提取文件名和目录名
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- Linux shell 之 提取文件名和目录名的一些方法
- 学习ORACLE Scheduler特性(9)创建Chains
- HTML初识(1)--表单提交
- - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSourc....报错处理
- JVM性能调优监控工具hprof使用详解
- php实现内置函数以及排序
- jenkins中使用脚本来节省资源空间和使用shell提取文件名或目录名的方法
- 大龄程序员的未来在何方
- 关于Context的子类
- 独木舟上的旅行
- linux最小系统无法输入中文
- LeetCode(31)--Next Permutation
- Mysql通过IP连接授权
- Java编译、运行、打包、解决依赖等会用到的命令
- C