興味深い問題があります。Linux で Jenkins ビルド マスターを使用し、1 つの Mac Mountain Lion ノード (ここで説明するものは Linux と Windows で正常に動作しますが、SSH 接続と Java Web Start の両方を使用するこの Mac マシンでのみ問題が発生します。
クライアント マシン上:
- 私はJDKをインストールしました(そしてそれを確認しました)。
- Jenkins との通信に使用するビルド ユーザーの JAVA_HOME トラフ .profile を設定します。
- Java は、Maven だけでなく、シェルからもアクセスできます
しかし、Jenkins はジョブの開始後に常に別の JAVA_HOME を設定します ($JENKINS_HOME/tools/JDK/jdk1.6) が、そのフォルダーは空です (Linux ノードでは、このフォルダー内に JDK をデプロイする必要がありますが、Mac ではそうではありません)。
Jenkinsでこの動作を変更することがまったく可能であることを誰かが知っていますか? Jenkins構成でカスタムJAVA_HOMEを設定しても、.profileファイルで遊んだり、ジョブでその場で変数をエクスポートしたりしても役に立ちませんでした。
最新バージョン 1.477 を使用しています
2012 年 8 月 15 日の更新と修正
そのため、Mac でジョブを実行すると、次のような 1 行が表示されます。
JDK のインストールがスキップされました: 不明な CPU 名: mac os x
要点は、Oracle は Mac 用の JDK をリリースしていないということです。これは一種の「機能」です。
これを修正するために私が行った手順は次のとおりです。
- Jenkins と Mac ノード間の構成済み SSH 接続
- JDK を手動で Mac にインストール
- ツールとして Java をノード構成に追加し、Mac ノードの JDK ホームへのパスを指定
- ノード構成からツールとして削除された Maven (既にノード上にある Lion バージョンからエクスポートされているため、削除しないと、Maven の機能が衝突の理由で失敗する可能性があります)。
これにより、Lion と Mountain Lion の両方の問題が修正されました。