我在Jenkins中将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 (Jenkins)作业中执行时不起作用。有人知道这可能是什么问题吗?我尝试指定
waxsim
的完整路径,即:/usr/bin/waxsim
,但没有区别。谢谢!
最佳答案
事实证明,它在终端机中运行时起作用而在 Jenkins 运行时不起作用的原因被认为是微不足道的。
在终端中,我运行bash,而Jenkins使用的是shell。因此,将导出路径添加到Jenkins的execute shell脚本中解决了该问题。
关于Jenkins没有此类文件或目录错误。但是文件存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17144587/