暂时停止运行Jenkins中的所有计划作业

ruoxqz4g  于 2022-09-20  发布在  Jenkins
关注(0)|答案(4)|浏览(208)

我正在将Jenkins从一台服务器迁移到另一台服务器。我对迁移过程没有任何问题。

但是,我启动新服务器后,计划的作业就会开始执行,这被证明是危险的。在激活新服务器之前,我需要确保一切就绪。

有没有办法阻止在新服务器处于活动状态时执行任何作业?

bfnvny8b

bfnvny8b1#

执行‘/脚本’:

Jenkins.instance.getAllItems(org.jenkinsci.plugins.workflow.job.WorkflowJob.class).each {i -> i.setDisabled(true); i.save() }
Jenkins.instance.getAllItems(hudson.model.AbstractProject.class).each {i -> i.setDisabled(true); i.save() }

不是我的主意,从jenkins wiki开始

bhmjp9jg

bhmjp9jg2#

设置一个初始化后脚本,使Jenkins在启动后立即进入安静模式。

https://wiki.jenkins.io/display/JENKINS/Post-initialization+script

brccelvz

brccelvz3#

尝试使用https://wiki.jenkins.io/display/JENKINS/Exclusive+Execution+Plugin。您可以让Jenkins处于关闭或安静模式一段时间,直到您的新示例准备好运行为止。

gtlvzcf8

gtlvzcf84#

使用Jenkins CLI

要防止运行任何作业,请使用Quiet-down:

java -jar jenkins-cli.jar -s http://localhost:9090 -auth user:token quiet-down

要重新启用作业调度,请执行以下操作:

java -jar jenkins-cli.jar -s http://localhost:9090 -auth user:token cancel-quiet-down

计划的作业将在静默时间添加到队列中,并将在取消静默后运行。如果这不是您想要的,您可以在取消静音之前使用clear-queue

有一个小缺点:在图形用户界面中,Jenkins将宣布它正在准备关机,但在这种情况下,这不是真的。我认为这是可以接受的,因为我们在晚上备份时使用它,因为无论如何都没有人会阅读公告。但是,另一种选择是使节点离线,然后使用offline-nodeonline-node再次在线。

快速设置

仅当您尚未设置Jenkins CLI时:

  • 您可以从Jenkins服务器下载Jenkins CLI,方法是从/jnlpJars/jenkins-cli.jar下载
  • 不使用您的实际密码进行身份验证,而是从/me/configuration获取令牌
  • 有关详细信息,请参阅Jenkins Handbook: Jenkins CLI

相关问题