我试图通过Jenkins对奴隶进行JUnit测试。从站的配置成功,主站似乎识别了从站的工作空间,但无法通过Build下的“Execute Shell”执行java命令。源控件没有下拉代码,因此没有构建。这是一项旨在对奴隶进行测试的工作。
Building remotely on qa-slave in workspace /home/ubuntu/Desktop
[Desktop] $ /bin/sh -xe /tmp/hudson2639231287347256677.sh
+ ./run.sh
Error: Could not find or load main class org.junit.runner.JUnitCore
Build step 'Execute shell' marked build as failure
Finished: FAILURE
如果我用
替换run.sh,我会得到同样的错误java org.junit.runner.JUnitCore OneGateTesting.TestSuiteRunner
我可以在奴隶上本地运行。
答案 0 :(得分:0)
我通过在Linux机器上为“其他”组授予与包含测试的文件夹的所有者和组相同的权限来解决此问题。有了这个,我没有sudo -u jenkins从主人那里运行测试。此外,我必须在此测试脚本中包含导出CLASSPATH内容,因为它无法获取.bashrc文件。