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

Raf*_*fAl 8 jenkins jenkins-plugins

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

waxsim
Run Code Online (Sandbox Code Playgroud)

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

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!
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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

我尝试指定完整路径waxsim,这是:/usr/bin/waxsim但它没有区别.

谢谢!

Raf*_*fAl 5

为什么它在终端中运行时有效而在詹金斯运行时无效的原因被证明是微不足道的。

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

  • **添加将 PATH 导出到 Jenkins 的**是什么意思? (38认同)
  • 您能更深入地澄清一下吗? (8认同)