当用户开始使用从站时,有什么方法可以配置 Jenkins 以将 Windows 从站标记为离线?
编辑:开始使用我的意思是用户登录。
当用户开始使用从站时,有什么方法可以配置 Jenkins 以将 Windows 从站标记为离线?
编辑:开始使用我的意思是用户登录。
由于Jenkins 从站可以注册为 Windows 服务,因此一种方法是确保当前没有登录用户。
可以设想一个定期运行的 Windows 任务,它会检查用户是否已登录,并且:
要检查谁已登录,请参阅“从 WindowsService 我如何从 C# 中找到当前登录的用户? ”以了解一种方法。
一种可能的解决方案是使用Slave Prerequisites Plugin。它允许根据脚本添加工作先决条件:
设置要在从节点上运行的脚本,然后才能在它们上运行作业。如果返回非 0 状态,则该节点将被拒绝执行作业,并且将选择另一个节点,或者该作业将返回构建队列,等待可用节点匹配其先决条件。
使用以下 Windows 批处理脚本:
python.exe -c "import psutil; assert len(psutil.get_users())==0"
你必须得到psutil,但你可以用纯 Windows shell 制作一些东西。最明显的缺点是我们正在经历许多系统,而不仅仅是使用那些标记为可用的系统。