每当我同步开发数据库时,我都会手动将主(且唯一)节点脱机,以避免一堆错误的测试失败。我有一个脚本可以完成数据库导入,也希望自动化节点维护。
如何使用命令行界面JAR标记主节点暂时脱机?
我可以使用该脚本进行身份验证。
$ jenkins who-am-i
Authenticated as: david
Authorities:
david
authenticated
但是,我无法让offline-node
或online-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"?
答案 0 :(得分:3)
如果主服务器上只有一个构建执行程序而没有独立的构建节点,请改用此命令:
java -jar jenkins-cli.jar quiet-down
这将阻止任何新版本执行。你可以使用
java -jar jenkins-cli.jar cancel-quiet-down
让詹金斯重新上线;此时它将运行任何在脱机时排队的构建。
答案 1 :(得分:3)
这不完全直观,但Jenkins文档是正确的。如果要为offline-node
或online-node
指定主节点,请使用空字符串:
java -jar jenkins-cli.jar offline-node ""
那就是说,如果你以后添加奴隶,你应该使用@gareth_bowles答案。