- ベストアンサー
hudson×phingの連携でエラーが発生する
- hudsonで「Hudson Phing plugin」しビルド時にphingを実行するようにしているのですが、実行させるとエラーが発生します。
- ビルド時の実行ユーザの設定方法が見つからず、エラーの原因が分かりません。
- ログインして自分でphingコマンドを実行すると正常に終了するため、ユーザの設定方法以外の原因も考えられます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
実行PATHに含まれていれば PHING_HOME を指定しなくても大丈夫みたいです。 なので、僕は「Hudsonの管理」→「システム設定」のPhing は設定してません。 テストを実行すると [test] $ phing -buildfile build.xml spec -logger phing.listener.NoBannerLogger Buildfile: /xxx/xxxx/xxx/build.xml のように Hudson のコンソールシステムメニューに出力されてます。 どちらの方法でも良いはずなので、 > 「/usr/local/php-5.3.4/bin/phingが存在しません。」 > とエラーが出てしまいます。 この問題を解決する必要があるようですね。 PHING_HOME を設定する箇所の(?)アイコンからたどれる phing のサイトを見てみると、 PHING_HOME ディレクトリには classes と bin ディレクトリがあることが期待されているようです。 ${PHING_HOME}/bin/phing.php を実行するようなので、/usr/local/php-5.3.4/bin/phing.php が存在するのでしたら、PHING_HOMEには /usr/local/php-5.3.4 を指定してみてはどうでしょうか? Full Phing Package 版の phing を展開したときのディレクトリ構成を想定しているようですね。
その他の回答 (1)
- NARH
- ベストアンサー率82% (88/107)
redmine と連携して同様のこと実践してます。 > 実際にログインして自分でphingコマンドを叩くと正常に終了します。 このユーザと、hudson のプロセスのユーザは同じなのでしょうか? そうでないと検証として不十分じゃないかと思いまして。 「Hudsonの管理」→「システム情報」の画面で環境変数PATHにphing のあるPATHはありますか?
補足
環境PATHとは Phing > インストール済みPhing > PHING_HOME のことだと思うのですが、 ここに下記のphing実行PATH、 /usr/local/php-5.3.4/bin/phing のように入れると、 「/usr/local/php-5.3.4/bin/phingが存在しません。」 とエラーが出てしまいます。 (/usr/local/php-5.3.4/bin/と1つ上のディレクトリにしても同じでした・・) 入れようとしているものが違うのでしょうか? まだ、hudsonプロセスのユーザは「hudson」なのですが、このユーザはhudsonサーバ用のみに作られたもので、ログインしてsu - hudsonをする事ができません(何か思い違いをしているのでしょうか・・)
お礼
>${PHING_HOME}/bin/phing.php を実行するようなので、/usr/local/php-5.3.4/bin/phing.php が存在するのでしたら、PHING_HOMEには /usr/local/php-5.3.4 を指定してみてはどうでしょうか? PHING_HOMEに/usr/local/php-5.3.4を指定することはできませんでした。 また、classesとbinディレクトリが存在するようなphing関連のディレクトリも見つかりませんでした。 ただ、ご指摘いただいたようにPATHの問題だと思い、hudsonを実行しているhudsonユーザにログインシェルで必要なPATHを読み込むようにしたら正常に実行することができました。 (rpmインストールで勝手に作られたユーザだったのでちょっと無理やりな気もしますが・・) おかげさまで実行可能になりました。ありがとうございました。