【发布时间】:2018-07-09 16:15:31
【问题描述】:
我对 Gauge 测试工具有点熟悉,现在正致力于通过 Jenkins 执行它。
首先:我在“执行 Windows 批处理命令”字段中设置了 gauge --version。这是输出:
Started by user anonymous
Building in workspace C:\jenkins\workspace\Run_Gauge_Test
[Run_Gauge_Test] $ cmd /c call C:\WINDOWS\TEMP\hudson8329964667758110371.bat
C:\jenkins\workspace\Run_Gauge_Test>gauge --version
Gauge version: 0.6.2
Plugins
-------
No plugins found
Plugins can be installed with `gauge --install {plugin-name}`
C:\jenkins\workspace\Run_Gauge_Test>exit 0
Finished: SUCCESS
将此与我直接在命令行中运行 Gauge 得到的输出进行比较:
C:\jenkins\workspace\Run_Gauge_Test>gauge --version
Gauge version: 0.6.2
Plugins
-------
html-report (2.1.1)
java (0.5.1)
xml-report (0.1.3)
所以我将相同的命令放在批处理文件中并运行它只是为了再次获得“未找到插件”消息。
作为最后一个选项,我勾选了Use custom workspace并将我的目录设置为我通常从命令行运行仪表测试的文件夹,但仍然是“找不到插件”
然后我尝试将它作为 shell 命令运行。输出:
Started by user anonymous
Building in workspace C:\jenkins\workspace\Run_Gauge_Test
[Run_Gauge_Test] $ sh -xe C:\WINDOWS\TEMP\hudson211231385407124893.sh
The system cannot find the file specified
FATAL: command execution failed
java.io.IOException: Cannot run program "sh" (in directory "C:\jenkins\workspace\Run_Gauge_Test"): CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
(truncated)
at hudson.model.Executor.run(Executor.java:404)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 16 more
Build step 'Execute shell' marked build as failure
Finished: FAILURE
当然,我将实际运行仪表测试(但它不起作用),而不仅仅是获取版本;但我认为解决为什么它没有正确获取插件详细信息会更简单。 有什么线索吗?
【问题讨论】:
-
您能否检查一下您是否确实在 Jenkins 上手动运行了命令,并使用相同的用户帐户通过 CI 运行?
-
嗨@apoorvam 刚开始接触jenkins,所以我不确定我是否理解。你是说 jenkins 用户帐户还是 Windows 用户帐户?我在 Jenkins 上创建了一个管理员帐户,但由于某种原因它不接受密码。所以我禁用了这里描述的安全性:wiki.jenkins-ci.org/display/JENKINS/Disable+security。您认为这是造成问题的原因吗?还是我需要在某处指定我的 windows acc 凭据?我将尝试再次创建 d admin acc。
-
Gauge 插件应通过 Jenkins 代理执行命令的用户/管理员帐户安装。看看这个文档:getgauge.io/documentation/user/current/advanced_readings/… 用于与 GoCD 和其他一些 CI 工具集成。
-
@apoorvam :这就是我所做的:重新安装 Jenkins。重新设置默认安全性。使用 Admin acc 登录。运行命令。工作得很好。所以我猜想没有 Jenkins 管理员登录导致了这个问题。感谢您的建议。如果你把你的评论作为答案,我会接受。