如何使用CLI使Jenkins主节点脱机?

时间:2013-12-13 23:54:42

标签: command-line jenkins

每当我同步开发数据库时,我都会手动将主(且唯一)节点脱机,以避免一堆错误的测试失败。我有一个脚本可以完成数据库导入,也希望自动化节点维护。

如何使用命令行界面JAR标记主节点暂时脱机?

  • 我写了一个简单的Bash脚本来执行Jenkins任务。
  • 我可以使用该脚本进行身份验证。

    $ jenkins who-am-i
    Authenticated as: david
    Authorities:
      david
      authenticated
    
  • 但是,我无法让offline-nodeonline-node识别主节点。帮助声明我可以省略“master”的节点名称,但这不起作用。

    $ jenkins offline-node
    Argument "NAME" is required
    java -jar jenkins-cli.jar online-node NAME
    Stop using a node for performing builds temporarily, until the next "online-node" command.
     NAME                : Slave name, or empty string for master
    

    它似乎专门针对奴隶,但我需要让主人的执行者离线。

    $ jenkins offline-node master
    No such slave "master" exists. Did you mean "null"?
    

2 个答案:

答案 0 :(得分:3)

如果主服务器上只有一个构建执行程序而没有独立的构建节点,请改用此命令:

java -jar jenkins-cli.jar quiet-down

这将阻止任何新版本执行。你可以使用

java -jar jenkins-cli.jar cancel-quiet-down

让詹金斯重新上线;此时它将运行任何在脱机时排队的构建。

答案 1 :(得分:3)

这不完全直观,但Jenkins文档是正确的。如果要为offline-nodeonline-node指定主节点,请使用空字符串:

java -jar jenkins-cli.jar offline-node ""

那就是说,如果你以后添加奴隶,你应该使用@gareth_bowles答案。