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提取文件名或目录名的方法相关推荐

  1. Jenkins中运行脚本提示“Permission denied”,没有权限解决方法(MacOS)

    如题,在Jenkins中执行脚本时,提示"Permission denied",报错信息如下: 解决方法:在执行命令前,加上sudo,如图

  2. Jenkins执行脚本,提示“sudo: no tty present and no askpass program specified”解决方法

    如题,在Jenkins中执行脚本时,提示"sudo: no tty present and no askpass program specified",报错信息如图: 以上报错是由 ...

  3. plsql如何执行单个语句_在单个try-with-resources语句中仔细指定多个资源

    plsql如何执行单个语句 Java 7最有用的新功能之一是引入了try-with-resources语句 [AKA 自动资源管理 ( ARM )]. try-with-resources语句的吸引力 ...

  4. 在单个try-with-resources语句中仔细指定多个资源

    Java 7更有用的新功能之一是引入了try-with-resources语句 [AKA 自动资源管理 ( ARM )]. try-with-resources语句的吸引力在于其承诺 "确保 ...

  5. 比 Bloom Filter 节省25%空间!Ribbon Filter 在 Lindorm中的应用

    1 前言 Lindorm是一个低成本高吞吐的多模数据库,目前,Lindorm是阿里内部数据体量最大,覆盖业务最广的数据库产品.超高的性能和低RT一直是Lindorm追求的目标,因此Lindorm也在不 ...

  6. 比 Bloom Filter 节省25%空间!Ribbon Filter 在 Lindorm 中的应用

    1 前言 Lindorm是一个低成本高吞吐的多模数据库,目前,Lindorm是阿里内部数据体量最大,覆盖业务最广的数据库产品.超高的性能和低RT一直是Lindorm追求的目标,因此Lindorm也在不 ...

  7. python传奇自动打怪脚本_传奇自动刷怪脚本,节省服务器资源

    传奇自动刷怪脚本,节省服务器资源 人到怪到,人走怪没,节省服务器资源哦! [@main] #if checkhum d716 1 checkmonmap d716 20 #act goto @exit ...

  8. 运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)

    对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮 ...

  9. 节省磁盘空间的新一代包管理工具PNPM

    在使用前端工具时,yarn.npm都是大家常用的包管理器,但是如果有多个项目使用了同一个依赖的时候,就会在硬盘里保存相应的副本,一旦这个多个项目变得数字很大,那么这个硬盘空间也是会逐渐吓人的. 所以今 ...

最新文章

  1. keras 的 example 文件 imdb_fasttext.py 解析
  2. 如何清空DNS缓存Windowslinux
  3. 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
  4. 利用Maya进行论文中网格动画数据的渲染
  5. python教程怎么读_python怎么读本地文件
  6. devops项目经理_DevOps:如何避免交接导致项目死亡
  7. Linux内存管理:内存描述之高端内存
  8. python自带网页解析器_Python爬虫Chrome网页解析工具-XPath Helper
  9. 【公开课视频】ASP.NET MVC+EF入门-20130315
  10. showdialog url访问页面_静态url在搜索引擎优化中的重要作用
  11. Javascript语言精粹--The Excellence in Javascript
  12. 各种采样,上采样,下采样,欠采样,子采样
  13. 知其然就够了——大数据时代的思考之一
  14. 新媒体运营之如何低成本,有效地进行企业公众号拉新,获取10万+潜在用户? 黎想
  15. 《Windows 8 权威指南》——第2章 Windows 8 Metro应用 2.1 打造快速流畅的动态Windows 8 Metro应用体验...
  16. 计算机主机核心通常包括,2017年计算机一级复习试题及答案解析
  17. 云服务器大数据高可用集群搭建-----hadoop篇
  18. 音视频开发系列(15):视频与音频同步
  19. 网站制作中 电脑网站与手机网站有哪些区别?
  20. ABeam( 德硕 ) 携手北京优锘科技共同探讨”数字孪生可视化运营”方案

热门文章

  1. PCL:交互点选点云
  2. JAVA-面向过程编程
  3. 如何使用 Java Servlet 处理 HTML 表单数据
  4. vscode中!无法生成模板解决方案
  5. Argo-DCS学习笔记
  6. 利用kvaser和Python编写监控界面(1)
  7. 爬虫|wallhere壁纸批量下载
  8. fabric.js学习
  9. fread函数和fwrite函数的用法
  10. 英语论文格式修改(两栏)