9

我在 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但这没有区别。

谢谢!

4

2 回答 2

5

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

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

于 2013-07-18T12:31:39.057 回答
1

简单地添加#!/bin/bash到你的 shell 执行的顶部应该会给你想要的结果。

于 2018-04-17T07:05:00.830 回答