问题

有时候jenkins的job会占用很大的空间,不要问我为什么会知道(某天在服务器上打命令时按下tab突然No space),那么想删除历史构建有什么技巧呢?


批量删除–脚本

#假设jenkins的job名称为:auto_get_product_info,占用空间最多的构建版本:1888
#如下代码将删除1到1888的历史构建
def jobName = "auto_get_product_info" 
def maxNumber = 1888 

Jenkins.instance.getItemByFullName(jobName).builds.findAll {
  it.number <= maxNumber
}.each {
  it.delete()
}


在哪执行上面这个脚本呢

浏览器访问jenkins > Manage Jenkins(系统配置,如果没记错的话) > Script Console > ctrl + c, ctrl+v > run > done


其他方法

进入jenkins的jobs目录,暴力删除(rf /var/lib/jenkins/jobname/builds/ -rf,谨慎删除)


题外话, 笨方法找到占用空间大的目录

如何找到空间占用大的目录?

du -sh /var/lib/* | sort -rn | head  查看/var/lib/目录下空间大的前几个
du -h --max-depth=1 查看当前目录下一级子目录大小
du -h --max-depth=1| | sort -rn 查看当前目录下一级子目录大小,倒序排序
du -h --max-depth=1 /path 查看/path目录下的一级子目录大小

如还有其他更好删除历史构建的方法切方便告知的话,那就更感谢了, 全文done



没有登录不能评论