【问题标题】:Put Jenkins node temporarily offline and reboot Windows computers using scripts使 Jenkins 节点暂时脱机并使用脚本重新启动 Windows 计算机
【发布时间】:2019-06-05 03:25:57
【问题描述】:

我想在 Windows 7 和 10 计算机上执行重启,但我首先需要让 Jenkins 节点暂时离线。在执行重新启动之前,我需要完成所有正在运行的任务。然后我远程登录到服务器并重新启动计算机。但是,在重新启动计算机之前,我需要确保计算机中有足够的空间。如果占用的空间超过 75%,我需要删除很久以前的文件。清理一些空间后,我重新启动计算机。我等到重启完成后再将节点重新上线。

这是我尝试使用脚本自动执行的任务。我该如何编写这个脚本?我目前正在手动执行这些步骤,但我想尝试将其自动化。我正在考虑使用 Powershell 重新启动计算机,但我不确定如何实际操作。

【问题讨论】:

    标签: windows powershell jenkins


    【解决方案1】:

    您可以创建一个作业,仅在 master 上运行,并专门用于重新启动节点服务器,而不是在 powershell 中执行所有操作。

    您在Jenkins inodes monitor plugin 中实现了类似的想法(以适应您的情况)

    【讨论】:

    • 感谢您提供的解决方法。我对 Jenkins 比较陌生,所以在较新的版本(2.60.1)中,我将如何创建这个作业并只在主服务器上运行它?
    • @treatyoself 2.60 似乎是一个旧版本(最新的 LTS 是 2.164.3:jenkins.io/changelog-stable)但无论如何,您可以将作业限制为节点:jenkins.io/doc/pipeline/steps/workflow-durable-task-stepnode(master)仅将其设置为 master 就足够了,使用管道语法:jenkins.io/doc/book/pipeline/syntax
    • 我明白了,但是我想让这个简单一点,我只运行一个脚本,它使节点暂时脱机,等待节点空闲,检查服务器上是否有足够的空间,清除旧文件或目录,重新启动计算机,然后将节点重新联机。有没有办法只用一个脚本来做到这一点?
    • @treatyoself 不确定,但是在“使节点暂时脱机”上,这就是 saferestart 所做的:stackoverflow.com/a/26219545/6309
    猜你喜欢
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 2014-03-07
    • 2021-11-19
    • 1970-01-01
    相关资源
    最近更新 更多