【问题标题】:How to get a Jenkins slave to open a windows server session如何让 Jenkins 从站打开 Windows 服务器会话
【发布时间】:2014-02-25 18:22:04
【问题描述】:

我正在尝试让 Jenkins 从站在 Windows 服务器上打开会话。 基本上,我想要实现的是:

  • Jenkins 从属服务器作为 Windows 2003 服务器上的服务运行。当master调用slave时,它将在服务器上打开一个桌面会话并启动一个执行GUI测试的.exe

我做了什么:

  • Jenkins 节点已创建(节点 A)。愚蠢的奴隶。远程 FS 根设置为 Windows 2003 服务器上的路径。 (“C:\詹金斯\节点”)。启动方法 Java Web Start
  • 使用 Windows 2003 服务器上的 Java Web Start 从 Jenkins 主服务器安装从属“节点 A”
  • Jenkins 从站现在作为服务在服务器上运行
  • Jenkins 项目已创建并且“限制此项目可以在何处运行”设置为“节点 A”
    • 项目窗口批处理命令'C:\GUITest.exe'

当我在 Jenkins 中构建项目时,我希望从站能够打开会话并运行 C:\GUITest.exe。但是,我错过了一些东西。

任何人有任何想法,或者知道是否可能(我可能需要插件??)

非常感谢任何建议/指导。

【问题讨论】:

    标签: jenkins windows-server-2003 jenkins-plugins qtp gui-testing


    【解决方案1】:

    看起来您想在 Windows 会话上运行 GUI 测试。如果您将 Jenkins Slave 作为服务运行,它将无法工作,您必须在 Windows 服务器上运行 JNLP 代理。此外,如果您想在无人值守模式下运行,这意味着 Windows 远程会话将被断开,您还需要一些其他设置。请提供更多信息,说明您正在尝试做什么。

    【讨论】:

    • 嗨安迪,我想做的是:设置一个 Jenkins 作业以在尚未激活的服务器会话上运行 exe。所以,我需要从服务器在服务器上运行,一旦从主服务器运行/调度作业,从服务器将打开一个桌面会话并运行 exe。我尝试过一些简单的事情,比如运行 C:\winnt\notepad.exe 的作业。我从主服务器运行作业,我可以看到从服务器已在服务器上启动 notepad.exe,但我需要它与桌面处于打开会话中。
    • 是的 - 这样做的目的是为了自动化 GUI 测试。我希望从服务器在服务器上打开一个桌面会话(因为 GUI 工具需要一个桌面)并运行 GUITest.exe - 这个 exe 将依次打开我的 AUT 并运行 GUI 测试。关于如何实现这一目标的任何想法? (我希望这是有道理的,如果不要求更多详细信息,请!)
    • 在 Master 上运行某些东西在 slave 上是不同的。我不知道您是否可以在从站上动态打开远程会话。通常我们只需登录从属窗口,启动从属代理,然后您就可以运行您的 GUI 测试。这假设您的所有测试都可以在该单个从属设备上运行。
    【解决方案2】:

    您必须确保运行 GUI 测试的任何进程(如果您连接到 Jenkins,可能是 java / cmd / ssh 进程)没有在会话 0 上运行,因为它无法访问桌面和 Windows UI一般来说。我遇到了类似的情况,运行与计划任务相同的进程,而不是服务为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-07
      • 1970-01-01
      • 2016-03-03
      • 2020-09-22
      • 2016-04-18
      • 2010-11-09
      • 1970-01-01
      相关资源
      最近更新 更多