当用户开始使用slave时,有没有办法配置Jenkins将Windows slave标记为脱机?
编辑:开始使用我指的是用户登录。
答案 0 :(得分:1)
由于Jenkins slave can be registered as a Windows service,一种方法是确保当前没有登录用户。
可以设想一个正常运行的Windows任务,它将检查用户是否已登录,并且:
要查看登录的用户,请参阅“From WindowsService how can I find currently logged in user from C#?”。
答案 1 :(得分:1)
一种可能的解决方案是使用Slave Prerequisites Plugin。 它允许根据脚本添加作业先决条件:
设置要在作业可以运行的作业之前在从属节点上运行的脚本。 如果返回非0状态,则该节点将被否决以获得作业 执行,并选择另一个节点,作业 将返回构建队列,等待可用节点匹配 它的先决条件。
使用以下Windows批处理脚本:
python.exe -c "import psutil; assert len(psutil.get_users())==0"
你必须得到psutil,但你可以用纯Windows shell制作东西。最明显的缺点是我们正在经历许多系统,而不是仅使用标记为可用的系统。