以前梁大师搞过一个Hudson的构建节点(slave)workspace清理(详见http://www.51testing.com/?uid-13997-action-viewspace-itemid-809114)。现在Hudson和Jenkins基本上分道扬镳了,最新Hudson版本风格与老版本有很大差异,要想升级用到最新的一些特性非常痛苦。而Jenkins则是由Kohsuke Kawaguchi(原Hudson作者)继续发展,其对版本风格更适合升级,所以需要将一些以前弄好的需求代码迁移到Jenkins上。
Jenkins在删除任务后,本身不会对slave上的workspace进行清理,导致slave磁盘空间占满。目前没有找到任何插件能完成这一工作(插件上也不好搞),于是需要直接修改Jenkins代码。从GitHub上拿到最新的Jenkins代码后,先处理
hudson.model.AbstractProject
protected void performDelete() throws IOException, InterruptedException {
// prevent a new build while a delete operation is in progress
makeDisabled(true);
// note start
/*
FilePath ws = getWorkspace();
if(ws!=null) {
Node on = getLastBuiltOn();
getScm().processWorkspaceBeforeDeletion(this, ws, on);