【发布时间】:2015-11-06 20:12:11
【问题描述】:
我正试图让詹金斯弄清楚。我有一套 selenium 测试,我可以通过 Eclipse 构建和运行,或者使用 ant 通过命令行构建和运行,但是每当我尝试 Jenkins 时,它们都会失败。 Jenkins 的控制台报告说我的 build.xml 文件中定义的 ws.jars 的值不存在;但是该目录确实存在!同样,从命令行构建没有问题。
任何建议都将不胜感激,因为我这几天一直在努力解决这个问题。
谢谢。
我的 build.xml 文件:
<property environment="env"/>
<property name="ws.home" value="${basedir}"/>
<property name="ws.jars" value="/Users/username/Documents/All JAR Files/All in one place"/>
<property name="test.dest" value="${ws.home}/build"/>
<property name="test.src" value="${ws.home}/src"/>
<property name="ng.result" value="test-output"/>
我在名为 path 的 build.xml 文件中创建了一个新目标。这是我使用 Jenkins 运行时的输出。
Started by user anonymous
Building in workspace /Users/<user>/local_repo/qa-automation/selenium-java/my-projects
[my-projects] $ /Users/Shared/Jenkins/Home/tools/hudson.tasks.Ant_AntInstallation/Install_automatically/bin/ant path
Buildfile: /Users/<user>/local_repo/qa-automation/selenium-java/my-projects/build.xml
path:
[echo]
[echo] My path - /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:/usr/bin:/bin:/usr/sbin:/sbin
[echo]
BUILD SUCCESSFUL
Total time: 0 seconds
Finished: SUCCESS
【问题讨论】:
-
1) 能否提供 build.xml 中声明 jar 的部分?
-
你在 windows / linux 下运行吗?可以是访问用户权限吗,请记住,通常您的 jenkins 设置将使用 Jenkins 用户
-
我在 OS X 中运行。我尝试将 ws.jars 目录的所有者更改为 jenkins,但得到了同样的错误。
-
你能回显 PATH 或写下你的环境变量吗?当 Jenkins 在 executor 上运行作业时(无论是从属还是主控),它会在 /bin/sh 中的非交互式 shell 脚本中执行该作业,而不是作为 /bin 中的登录 shell /bash。这意味着您获得的环境变量比从命令行获得的要少。如果是这样的话,我可能有一个解决方案。
-
当然。我在名为 path 的 build.xml 文件中创建了一个新目标。我添加到我原来的帖子。我喜欢这是要去的地方。我注意到我的 jre 在那里 2x。