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

45 篇文章 0 订阅
31 篇文章 0 订阅

环境

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/bash
cd $1
mv `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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山鬼谣me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值