Jenkins没有这样的文件或目录错误。但该文件存在

时间:2013-06-17 09:44:02

标签: jenkins jenkins-plugins

我在将Jenk作为作业运行bash脚本时遇到问题(执行shell步骤)。基本上我现在将我的脚本缩小为一行来测试为什么Jenkins无法运行它。这是:

waxsim

所以这只是一行。当没有参数运行时,这应该给我这个输出:

No app-path was specified!
usage: waxsim [options] app-path
example: waxsim -s 2.2 /path/to/app.app
Available options are:
    -s sdk  Version number of sdk to use (-s 3.1)
    -f family   Device to use (-f ipad)
    -e VAR=value    Environment variable to set (-e CFFIXED_HOME=/tmp/iphonehome)
    -a  Available SDKs
    -v path Output video recording at path
    -h  Prints out this wonderful documentation!

Jenkins作为jenkins用户运行。当作业运行时,它失败了:

+ waxsim
/var/folders/gx/t63prwt53w7gr2jjt9k66q9800009c/T/hudson4478539334800834890.sh: 
line 3: waxsim: No such file or directory
Build step 'Execute shell' marked build as failure

当我手动执行waxsim,以jenkins用户身份登录时,一切正常。它适用于机器上的每个用户。它仅在Jenkins作业中执行时不起作用。任何人都知道可能是什么问题?

我尝试指定waxsim的完整路径,即:/usr/bin/waxsim,但没有区别。

谢谢!

2 个答案:

答案 0 :(得分:4)

当它在终端中运行时它起作用的原因并且在Jenkins运行时它没有被证明是微不足道的。

在终端我运行bash,而Jenkins正在使用shell。因此,将PATH导出到Jenkins的执行shell脚本解决了这个问题。

答案 1 :(得分:0)

只需将#!/bin/bash添加到shell执行的顶部,即可获得所需的结果。