15

我已按照本指南在 Windows 8 上安装 jenkins slave 作为服务:

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service#InstallingJenkinsasaWindowsservice-InstallSlaveasaWindowsservice%28require.NET2.0framework%29

我需要运行与桌面交互的作业(运行打开浏览器的应用程序等)。因此,在我将从站安装为服务(运行从主站下载的 jnlp)后,我将服务“登录”更改为“允许与显示交互”。

由于某种原因,它只能为“本地系统帐户”启用此功能,即使它建议以指定用户身份运行服务,例如。詹金斯

但是当我执行作业时没有任何反应,浏览器没有打开。如果我改为停止服务并仅通过 jnlp 文件启动从属设备,则作业运行良好 - 浏览器已打开。

当运行 jenkins windows slave 作为服务时,任何人都幸运地与桌面交互?

4

7 回答 7

10

服务在会话 0 中从 Vista 开始运行,而第一个用户现在在会话 1 中。因此您无法再进行交互。这称为会话 0 隔离。

Microsoft在此处此处对此进行了解释。您必须使用使用IPC 与服务通信的第二个程序。

于 2013-09-26T10:48:05.280 回答
8

使用该服务在 Windows 中运行 Jenkins 时遇到了很多问题。相反,我现在禁用该服务并从 CMD 运行它。

如此开放CMD

cd C:\Program Files (x86)\Jenkins

java -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar
jenkins.war --httpPort=9091
于 2014-01-20T09:07:08.567 回答
8

要解决它,首先创建 Windows 自动登录,正如我在这里解释的那样: https ://serverfault.com/questions/269832/windows-server-2008-automatic-user-logon-on-power-on/606130#606130

然后为 Jenkins 代理创建一个启动批处理(将其放在 Jenkins 目录中)。这将在桌面上启动代理控制台,并应允许 Jenkins 与 Windows GUI 交互:

java -jar slave.jar -jnlpUrl http://{Your Jenkins Server}:8080/computer/{Your Jenkins Node}/slave-agent.jnlp

(slave.jar 可以从 http://{Your Jenkins Server}:8080/jnlpJars/slave.jar 下载)

编辑: 如果您收到黑色屏幕截图(例如,使用 Selenium 或 Sikuli 时),请创建一个断开远程桌面的批处理文件,而不是使用常规 X 按钮关闭 RDP 会话:

%windir%\system32\tscon.exe %SESSIONNAME% /dest:console 
于 2014-06-19T08:37:17.217 回答
0

考虑在启动时直接运行 Java 从属服务器,然后在服务器出现故障时使用某些东西来监视和重新启动(例如,Kiwi Restarter)。

于 2013-09-29T03:13:37.730 回答
0

请检查服务(@TestNode)确保“交互式服务检测”服务已启动,默认启动类型设置为手动,您也可以将其设置为自动。

在此处输入图像描述

服务启动后,当您在测试节点中运行测试时,您将看到如下内容: 在此处输入图像描述

单击它并选择查看消息

在此处输入图像描述

你会看到那里发生的活动。希望这会有所帮助:D

注意:如果使用其他帐户登录,无法查看交互服务检测提示,请重新启动服务。

于 2013-11-13T07:12:00.753 回答
0

我的 Jenkins 服务以用户“jenkins”身份运行,我所做的只是在以下位置创建桌面文件夹:C:\Windows\system32\config\systemprofile\desktop,如果 64 位 Windows 也在C:\Windows\SysWOW64\config\systemprofile\桌面- 然后它运行完美。

于 2014-02-23T21:08:33.170 回答
0

确保Desktop文件夹是这样创建的:

  • %WINDOWS%/System32/config/systemprofile/Desktop
  • %WINDOWS%/SystemWOW64/config/systemprofile/Desktop

在将某些 Java 软件作为服务运行时,有时必须存在这些。

于 2015-05-13T13:14:07.087 回答