web-dev-qa-db-ja.com

Jenkinsスレーブ環境変数の更新

_Java_HOME_環境変数を持つJenkinsスレーブ(Windows PC)があります。スレーブのJavaバージョンを更新したので、環境変数も更新しました。

Jenkins Webインターフェイスを介してこのスレーブのシステムプロパティを見ると、_Java_HOME_プロパティが古いものとして報告されています。

Windows PCで_echo %PATH%_を実行すると、正しい値が表示されます。スレーブのJenkins Nodeスクリプトコンソールでprintln System.getenv("PATH")を実行すると、古いJava_HOME値が表示されます。

スレーブを削除して再度追加しようとしましたが、Jenkinsサーバーを再起動しました。それでも古い値は更新されません。

何かご意見は?

14
C0deAttack

Hudson/Jenkinsは複数のJavaバージョンをサポートしているため、スレーブ環境変数を使用しないため、GUIでJavaホーム環境変数を構成します。

あなたがする必要があるのは、Hudson/Jenkinsの管理に行き、ノードの管理を選択することです。リストから構成するNode)を選択し、[構成]を選択します。下部にNodeプロパティセクションがあります。[ツールの場所]チェックボックスをオンにします。をクリックします。ドロップダウンリストでJDKを追加して選択し、新しいパスを追加します。

8
Robert Longson

これはJenkinsのバグです: https://issues.jenkins-ci.org/browse/JENKINS-27739

解決する3つの方法(私はそれぞれを個人的に確認しました):

  1. Jenkinsを> = 1.617に更新します(推奨)
  2. Jenkinsマスターを再起動します
  3. Jenkinsスレーブを削除してから、再度追加します
10
kmiles

スレーブを再起動します。これにより、構成の問題が修正されました。

2
deyanpavlov

Jenkinsのバージョンを更新すると、問題が解決します。それ以外の場合、これは私のために機能しました(Jenkins 1.6、ビルド/テストノード:MacOSX Mojave):

最初のインストールJava 8 ビルド/テストノード内コマンドを使用して:

brew update
brew cask install caskroom/versions/Java8

次に、Jenkins Webパネルでビルド/テストノードをクリックし、次にConfigureをクリックしてから、Advanced ...ボタンをクリックすると、複数のテキストフィールドが表示されます。次に、JavaPathフィールドにパスをJava 8に追加します。

enter image description here

私にとって、このパスは次のようなものです。

/Library/Java/JavaVirtualMachines/jdk1.8.X_XXX.jdk/Contents/Home/bin/Java

注:X_XXXを以前のJava 8バージョンに置き換えることを忘れないでください。

次に保存

その後、ビルド/テストノードを切断して再度接続します。これで問題が解決するはずです。

ソース

1
Pedro Trujillo