2013年11月13日水曜日

Windows上のJenkinsでjavaが実行できない

前回
http://kakakikikeke.blogspot.com/2013/08/windowsjenkins.html
の記事でWindows上で実行する際の注意事項を紹介しましたが
どうやらJenkinsが読みにいく環境変数が「ユーザ環境変数」ではなく「システム環境変数」を読みに行っているようです
原因としては環境変数周りなのですが、今回は現象として以下のようなことが確認できました

■現象
  • Jenkinsをローカルシステムではなくログインしているユーザのプロセスとして立ち上げてもシステムの環境変数を読みに行っている
  • そのためJenkins上でユーザ環境変数が有効になっていない
  • システムの環境変数のPATHにJAVA_HOME変数を使ってPATHが設定してあった
  • システムの環境変数側にJAVA_HOME変数の定義がなかった
  • なのでシステム環境変数側のPATHにjavaコマンドまでのパスがうまく通っていなかった

■対策
  • システム環境変数側のPATHに設定してあるをjavaコマンドまでのパスをJAVA_HOME変数で参照するのではなくちゃんとパスを入力してあげた(C:\からはじまるパス)
  • 上記はシステム環境変数側にJAVA_HOME変数を追加してあげても対応可能かと思われます
  • Jenkinsを再起動し、うまくjavaコマンドが動作することを確認した(再起動しないと環境変数も反映されないようです)

Windows上でJenkinsを動かす場合は環境変数周りで苦しめられそうです
環境変数にスペースとか入っているとそれが原因でうまく変数が読み込めないみたいなこともありそうです。。。

0 件のコメント:

コメントを投稿