70

「Java Web Start」を介して Jenkins サーバーに接続された Windows スレーブ ノード。ノードのシステム情報に IP アドレスがありません。

持っていたすべてのスレーブ ノードを調べて、Jenkins のスレーブ ノードに対応するマシン (IP アドレス) を見つける必要がありました。

Jenkins自体からスレーブノードのIPアドレスを見つける方法はありますか?

4

8 に答える 8

77

ノードのスクリプト コンソール ( Jenkins の管理->ノード->ノードの選択->スクリプト コンソール) を介して、groovy スクリプトを実行できます。次のコマンドを実行して、IP アドレスを取得します。

println InetAddress.localHost.canonicalHostName
于 2013-02-18T05:58:38.057 に答える
26

IP を見つけるための最も効率的プラットフォームに依存しない方法は、おそらくmasterの「グローバル」スクリプト コンソールの次のグルーヴィーなコードです。

import hudson.model.Computer.ListPossibleNames

def node = jenkins.model.Jenkins.instance.getNode( "myslave" )
println node.computer.getChannel().call(new ListPossibleNames())

コンソールでは、これにより(たとえば)

Result
[192.168.0.17]

1 台のマシンに複数の IP アドレスが存在する可能性があるため、結果は文字列のリストになります。

これはノード固有のコンソールを必要としないため、すべてのノードをカバーするコードの周りにループを簡単に追加できます

于 2016-09-28T16:04:13.097 に答える
18

非 Windows Jenkins スレーブでこの同じ質問に答えるには:

IP アドレスを取得します。

println "ifconfig".execute().text

ホスト名を取得します。

println "hostname".execute().text
于 2015-05-07T17:07:47.620 に答える
12

Web インターフェイスから

ノードのLogリンクに移動します。

http://jenkins.mycompany.com:8080/computer/my_node_name/log

最初の行は次のようになります。

JNLP agent connected from /10.11.12.123

スクリーンショット

スクリーンショット

于 2018-11-19T19:16:06.603 に答える
7

これは、deepak が説明したものと非常に似ていますが、短い手順に沿って画像を追加しました。

Jenkins UI で次のようにクリックします。

Jenkins の管理 -> ノード -> ノードの選択 -> スクリプト コンソール

次に、println InetAddress.localHost.canonicalHostName を実行します。

ここに画像の説明を入力

于 2019-02-18T19:57:44.020 に答える
1

Windows スレーブで IP を取得するには:

スクリプト コンソールに移動します ( Jenkins の管理->ノード->ノードの選択->スクリプト コンソール) 。

println "ipconfig".execute().text
于 2017-02-27T23:43:06.493 に答える
0

Jenkins ジョブで、それが groovy の場合、または ifonfig sh "/sbin/ifconfig -a | grep inet" をエコーし​​ます。

于 2016-09-15T05:26:44.437 に答える