2013-06-17 46 views
5

Jenkins(実行シェルステップ)でジョブとしてbashスクリプトを実行する際に問題があります。基本的に私はJenkinsがなぜそれを実行できないのかをテストするためにスクリプトを1行に絞りました。ここにあります:Jenkinsそのようなファイルまたはディレクトリエラーはありません。しかし、ファイルが存在します

waxsim 

これは単なる1行です。パラメータなしで実行したときにそれは私にこの出力を与える必要があります:

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! 

ジェンキンスはジェンキンスのユーザーとして実行されます。私は手動でwaxsimを実行すると、ジェンキンスユーザーとしてログイン

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

、すべてが正常に動作します:ジョブが実行されると、それは失敗します。これはマシン上のすべてのユーザーに有効です。 Jenkinsの仕事で実行された場合にのみ動作します。誰が問題なのか分かっていますか?

フルパスをwaxsimに指定しようとしました。これは/usr/bin/waxsimですが、違いはありません。

ありがとうございます!

答えて

3

ジェンキンスが走ったときにターミナルで走ったときに動作し、ジェンキンスが走ったときに動作しなかった理由は些細なことでした。

ターミナルではbashを実行し、Jenkinsはシェルを使用しています。したがって、PATHをJenkinsのシェルスクリプトにエクスポートすることを追加することで、この問題が解決されました。

+13

** Jenkinsの**へのPATHのエクスポートを追加するとどういう意味ですか? –

関連する問題