0

ビルドを実行しようとするたびに、次のような一連の行が表示されます。

/Users/Shared/Jenkins/Home/jobs/dghhtreew/workspace/build.xml:28:
The following error occurred while executing this line:
/Users/Shared/Jenkins/Home/jobs/dghhtreew/workspace/build.xml:39: Execute failed: java.io.IOException: Cannot run program "pdepend": error=2, No such file or directory

これは、PHP Project Wizard によって自動生成された私の build.xml の関連部分です。

...
 <target name="parallelTasks" description="Run the pdepend, phpmd, phpcpd, phpcs, phpdoc and phploc tasks in parallel using a maximum of 2 threads.">
  <parallel threadCount="2">
   <sequential>
    <antcall target="pdepend"/>
    <antcall target="phpmd"/>
   </sequential>
   <antcall target="phpcpd"/>
   <antcall target="phpcs"/>
   <antcall target="phpdoc"/>
   <antcall target="phploc"/>
  </parallel>
 </target>
 <target name="pdepend" description="Generate jdepend.xml and software metrics charts using PHP_Depend">
  <exec executable="pdepend">
   <arg line="--jdepend-xml=${basedir}/build/logs/jdepend.xml
              --jdepend-chart=${basedir}/build/pdepend/dependencies.svg
              --overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg
              ${source}" />
  </exec>
 </target>
... 

どうやら、Jenkins ユーザーはこれらのコマンドか何かを見つけることができません。ターミナル経由で Jenkins にログインすると、次のようになります。

sudo -s -H -u jenkins 

期待どおりに動作することを試しpdependてください。しかし、何らかの理由で、Jenkins サーバーから実行すると機能しません。実行可能行に絶対パスを設定しようとしましたが、同じ結果が得られました。インストールなどをいじっていません。Macインストーラーを介してJenkinsの最新バージョン(1.488)を持っています。

なぜジェンキンスは何もできないのですか??

4

2 に答える 2

0

コマンドがインストールされていない可能性があります。私にとって最も簡単な方法は、composer を使用することです。

composer global require 'pdepend/pdepend=*'

composer をお持ちでない場合は、インストールしてください。

curl -sS https://getcomposer.org/installer | php

php composer.phar global require 'pdepend/pdepend=*'

Jenkins では、パス変数を広告にしましょう。パスを追加する必要はありません。

  1. 「ジェンキンスの管理」をクリックしてください
  2. [システムの構成] をクリックします
  3. チェックボックス「環境変数」を見つけて、チェックされていることを確認します
  4. 新規追加: 名前: PATH 値: $PATH:/Users/YOUR_USER/.composer/vendor/bin
于 2014-06-07T18:29:02.797 に答える