我使用 jenkins 主从配置来捕获产品的性能指标。我们观察到 jenkins-slave 倾向于积累内存,从而影响捕获的性能指标。
为了确保捕获的指标的一致性,我们正在考虑每天在从站上没有运行作业时从主站重新启动 jenkins 从站。这可行吗?
我们怎样才能实现它呢?
注意:使用 jenkins-slave 作为服务不是一个选择,因为我们还存在其他安全访问问题。
我知道这个答案来得有点晚了:
这就是我出于同样的原因做了同样的事情,不确定这是否是实现这一目标的最佳方法,但它解决了我们的许多问题:
对于 Windows 机器:
- 创建一个仅在 Windows 计算机上运行“shutdown -r -f”的作业。
它将重新启动机器。
- 现在将其恢复为在线部分。出于和你类似的原因,我
没有使用“jenkins-slave 作为服务”。相反,我配置了
通过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%
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)