Jenkins - 有没有办法删除所有脱机节点(从属)/批量删除节点/删除所有节点?

 手机用户2502900723 发布于 2023-01-11 13:37

使用Jenkins Docker插件时,可能是因为错误,无法启动群集.我没有注意,目前我有数以千计的离线节点,但未能启动.

BOTTOM LINE - 有没有办法批量删除Jenkin中的节点(从属),清理所有脱机节点甚至删除所有节点?重申Jenkins服务器没有帮助,我在Jenkins API中找不到方法.

在我开始编写Selenium脚本之前,我会欣赏任何想法......

非常感谢!

2 个回答
  • 这是Copy>Paste>RunKeepCalmAndCarryOn答案的版本. 转到管理Jenkins>脚本控制台>复制并粘贴此代码>运行

    for (aSlave in hudson.model.Hudson.instance.slaves) {
        if (aSlave.getComputer().isOffline()) {
            aSlave.getComputer().setTemporarilyOffline(true,null);
            aSlave.getComputer().doDoDelete();
        }
    }
    

    在此输入图像描述

    2023-01-11 13:38 回答
  • 这个脚本有一个注释掉的部分来删除节点.

    它在Jenkins脚本控制台中运行

    for (aSlave in hudson.model.Hudson.instance.slaves) {
      println('====================');
      println('Name: ' + aSlave.name);
      println('getLabelString: ' + aSlave.getLabelString());
      println('getNumExectutors: ' + aSlave.getNumExecutors());
      println('getRemoteFS: ' + aSlave.getRemoteFS());
      println('getMode: ' + aSlave.getMode());
      println('getRootPath: ' + aSlave.getRootPath());
      println('getDescriptor: ' + aSlave.getDescriptor());
      println('getComputer: ' + aSlave.getComputer());
      println('\tcomputer.isAcceptingTasks: ' + aSlave.getComputer().isAcceptingTasks());
      println('\tcomputer.isLaunchSupported: ' + aSlave.getComputer().isLaunchSupported());
      println('\tcomputer.getConnectTime: ' + aSlave.getComputer().getConnectTime());
      println('\tcomputer.getDemandStartMilliseconds: ' + aSlave.getComputer().getDemandStartMilliseconds());
      println('\tcomputer.isOffline: ' + aSlave.getComputer().isOffline());
      println('\tcomputer.countBusy: ' + aSlave.getComputer().countBusy());
      //if (aSlave.name == 'NAME OF NODE TO DELETE') {
      //  println('Shutting down node!!!!');
      //  aSlave.getComputer().setTemporarilyOffline(true,null);
      //  aSlave.getComputer().doDoDelete();
      //}
      println('\tcomputer.getLog: ' + aSlave.getComputer().getLog());
      println('\tcomputer.getBuilds: ' + aSlave.getComputer().getBuilds());
    }
    

    2023-01-11 13:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有