NO.95 Jenkins管理员工具之:干掉无用的本地workspace(Java版)
来源:互联网 发布:js replace 单引号 编辑:程序博客网 时间:2024/06/06 00:11
搞个大家一起用的Jenkins,30多个项目组建了500多个任务。有个节点的workspace所在盘只有100G,一来二去就满了。
下手处理。
其中一个点是:Jenkins的任务删掉了或者改名了,但是原来的Job workspace是不会删除的。
看了https://my.oschina.net/donhui/blog/677935这一篇,觉得思路可行,不过里面的Python不懂哇,写个Java版吧。
搞定后删掉了40G垃圾,洁癖如我,内心是欢喜的。
上代码。
目录结构
.\src\DelUnusedWS.java
.\bin\DelUnusedWS.class
.\lib\jenkins-cli.jar
.\runDelUnusedWS.cmd
runDelUnusedWS.cmd内容
java -classpath .\lib\jenkins-cli.jar;.\bin; DelUnusedWS http://*.*.*.*:8091/jenkins D:\jenkins\workspace@pause
DelUnusedWS.java内容
import java.io.ByteArrayOutputStream;import java.io.File;import java.io.OutputStream;import java.net.URL;import java.util.LinkedList;import java.util.List;import hudson.cli.CLI;public class DelUnusedWS {public static void deleteFile(File file) throws Exception {if (file.isDirectory()) {for (File f : file.listFiles()) {deleteFile(f);}}file.delete();}public static void main(String[] args) throws Exception {// TODO Auto-generated method stubString url = args[0];// Jenkins地址URL,例:"http://*.*.*.*:8091/jenkins";//String wsDir = args[1];// Jenkins节点本地Workspace目录,例:“D:\jenkins\workspace”System.out.println("url:" + url);System.out.println("wsDir:" + wsDir);List<String> arguments = new LinkedList<String>();// arguments.add("create-view");// arguments.add(viewname);// arguments.add("--username");// arguments.add(username);// arguments.add("--password");// arguments.add(password);arguments.add("list-jobs");// 展示所有jobCLI cli = new CLI(new URL(url));OutputStream output = new ByteArrayOutputStream();int exit_code = cli.execute(arguments, null, output, System.err);String s = output.toString();System.out.println("jobs:" + s);/* 主要逻辑:逐个验证本地workspace下的目录(即job名称)是否在刚查询到的任务名称清单中存在 */File dir = new File(wsDir);for (File f : dir.listFiles()) {if (s.indexOf(f.getName() + '\n') == -1) {//为保证避免目录名是任务名的子串情况,加'\n'进行严格查找System.out.println(f.getName() + " not exists!");deleteFile(f);if (f.exists()) {System.out.println(f.getName() + " can 【not】 be deleted!");} else {System.out.println(f.getName() + " was deleted!");}}}System.out.println("Done!");}}
0 0
- NO.95 Jenkins管理员工具之:干掉无用的本地workspace(Java版)
- 关闭MyEclipse无用的工具
- [jenkins工具]之二:jenkins的安装配置
- Jenkins使用(九)忘记Jenkins的管理员账号和密码
- eclipse删除无用的workspace工作空间记录,启动eclipse时提示选择workspace
- 干掉你的StringUtils字符工具类
- 去除Eclipse无用workspace记录
- 忘记Jenkins管理员密码的解决办法
- Jenkins管理员密码忘记的解决办法
- Jenkins插件之Workspace cleanup + Copy to slave
- Jenkins常用插件之Clone Workspace SCM Plugin
- Jenkins工具(一)之 Jenkins环境搭建
- 不小心把本地的maven仓库干掉了怎么办?
- 遇到的问题-----No JREs in workspace compatible with specified execution environment: JavaSE-1.7,java
- Jenkins集成工具的使用(一)
- Jenkins集成工具的使用(二)
- Jenkins集成工具的使用(三)
- google管理员工具的功能
- 把2个有序数组合并成1个有序数组
- C++ 多重继承
- Session详解
- xgboost0.7的编译安装
- jQuery实现滚动效果
- NO.95 Jenkins管理员工具之:干掉无用的本地workspace(Java版)
- 分页复用代码【Page类、JSP显示页面】
- maven报错
- Mysql command list
- book
- excle导出
- Java操作Excel文件导入
- 【数据结构】邻接矩阵表示法的图的深度广度优先遍历递归和非递归遍历
- drools用户指南----Cross Products