gpt4 book ai didi

jenkins - 从 master 重启 Jenkins slave

转载 作者:行者123 更新时间:2023-12-04 01:00:11 34 4
gpt4 key购买 nike

我使用 jenkins 主从配置来捕获产品的性能指标。我们观察到 jenkins-slave 倾向于积累内存,从而影响被捕获的性能指标。

为了确保捕获的指标的一致性,我们正在考虑每天从 master 重新启动 jenkins slave,当没有作业在 slave 上运行时。这可行吗?

我们怎样才能实现它?

注意:使用 jenkins-slave 作为服务不是一种选择,因为我们有其他安全访问问题。

最佳答案

我知道这个答案来的有点晚:

出于同样的原因,这就是我这样做的方式,不确定这是否是实现这一目标的最佳方式,但它解决了我们的许多问题:

对于 Windows 机器:

  • 创建一个在 Windows 机器上简单地运行“shutdown -r -f”的作业。
    它将重新启动机器。
  • 现在把它带回在线部分。出于和你类似的原因,我
    没有使用“ Jenkins 奴隶即服务”。相反,我配置了
    节点通过JNLP客户端连接,然后添加slave.jar
    Window 任务调度程序中每个节点的命令(运行
    启动)
  • 现在作业重新启动机器和 Windows 机器带来
    重启后立即在 Jenkins 上在线。

  • 对于 Mac 机器:
  • 这个过程在 mac 上相对容易一些。首先,让一个工作运行
    Mac 节点上的“shutdown -r now”
  • 该节点应该简单地设置为通过 ssh 连接。那会
    请注意在 Jenkins 上将其联机。

  • 这是我的脚本的“执行 shell”部分,用于重新启动用于我们自动化的所有机器:
    distro=`uname`
    if [ "$distro" = "Windows_NT" ] || [ "$distro" = "WindowsNT" ] ;then
    echo "Restarting Windows Machine...."
    shutdown -r -f
    else
    echo "Restarting Mac Machine...."
    sudo shutdown -r now
    fi

    PS:

    它与问题并不完全相关,但可能对您指定的情况有用。在 Windows 机器启动时添加一个批处理脚本来清理临时文件可能是个好主意。
    将以下内容添加到 Windows 计算机启动文件夹中的批处理脚本(例如,cleanTemp.bat)中。
    (对于 Windows 10,C:\Users\\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)
    rmdir %temp% /s /q

    md %temp%

    关于jenkins - 从 master 重启 Jenkins slave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29165080/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com