5799


casperjsをjenkins上で実行しようとするとpermission deniedとなってしまいます  
基本的な質問ですみませんが、ジョブの指定方法やシェルの記述について教えていただけますでしょうか。  
centos(vagrant)上で起動しています。

以下のジョブを登録(外部シェルを実行)

[code]

    export WORKSPACE
    sh -x ${WORKSPACE}/sample.sh
    
[/code]

sample.sh

[code]

    #!/bin/sh
    /home/vagrant/casperjs/bin/casperjs --version
    
[/code]

結果

[code]

    ユーザーanonymousが実行
    ビルドします。 ワークスペース: /var/lib/jenkins/workspace/casperjs
    [casperjs] $ /bin/sh -xe /tmp/hudson3290936055601663011.sh
    + export WORKSPACE
    + sh -x /var/lib/jenkins/workspace/casperjs/sample.sh
    + /home/vagrant/casperjs/bin/casperjs --version
    /var/lib/jenkins/workspace/casperjs/sample.sh: line 2: /home/vagrant/casperjs/bin/casperjs: 許可がありません
    Build step 'シェルの実行' marked build as failure
    Finished: FAILURE
    
[/code]


CC BY-SA 3.0
2015-02-01T13:08:25.107
5706
2015-02-03T08:53:07.667
8008
question
casperjs jenkins
casperjsをjenkins上で実行


dmnlkさんが既にコメントされていますが、sample.sh内でcasperjsを実行する所でpermission
deniedとなっているので、ジョブの指定方法やシェルの書き方に問題があるというより、casperjsのアクセス権限の問題と思われます。

手元の環境ではcasperjsの実行権限を **rwxr--r--** （744）にすると同様のエラーが出ました。  
一方、casperjsの実行権限を **rwxr-xr-x** （755）にすると正常に実行出来ました。

Jenkinsのジョブはデフォルトだとjenkinsというユーザで実行されているようなので、jenkinsにcasperjsの実行権限があるかを確認すると良いと思います。なお、Jenkinsのジョブの実行ユーザは以下のようにwhoamiコマンドを叩いて確認できます。

[code]

    export WORKSPACE
    sh -x ${WORKSPACE}/sample.sh
    whoami
    
[/code]


CC BY-SA 3.0
2015-02-02T15:01:55.437
5799
2015-02-02T15:01:55.437
33
5706
answer