【问题标题】:Jenkins No such file or directory error. But the file exists詹金斯没有这样的文件或目录错误。但是文件存在
【发布时间】:2019-01-12 23:40:17
【问题描述】:

我在 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 作业中执行时才起作用。有谁知道可能是什么问题?

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

谢谢!

【问题讨论】:

    标签: jenkins jenkins-plugins


    【解决方案1】:

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

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

    【讨论】:

    • 添加导出 PATH 到 Jenkins 是什么意思
    • 你能不能更深入地澄清一下?
    • 您能否解释一下添加将 PATH 导出到 Jenkins 的含义?
    • 我也不明白答案,但添加 [ sh "echo This is a Workarround to avoid java.io.FileNotFoundException > workarround.txt" ] 作为第一步,在我的情况下解决了执行。由于某种原因,没有它就不会创建工作区/目录。
    • export PATH= "path/path/"
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      • 1970-01-01
      • 2021-01-18
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多