【備忘録】Jenkins新スレーブPC追加で発生したエラーと対処方法まとめ
こちらの記事を参考にJenkinsのスレーブPC(ノードPC)を追加したのですが,いくつか苦戦したポイントがあったので,エラーとその対処方法をまとめます.
【CI奮闘記】第6章:エージェントを作ってみよう!
エラー発生箇所としては「Lauch agent by connecting it to the master」を設定で選択し,新ノードPC側でJava Web Start (JNLP)を実行するタイミングでエラーが発生しました.
・JNLP不正エラー
発生エラー
INFO: Locating server among [http:://255.255.255.255:8080/jenkins/]
** **, 20** **:**:** ** org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
** **, 20** **:**:** ** org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver isPortVisible
WARNING: connect timed out
** **, 20** **:**:** ** hudson.remoting.jnlp.Main$CuiListener error
SEVERE: http:://255.255.255.255:8080/jenkins/ provided port:49600 is not reachable
java.io.IOException: http:://255.255.255.255:8080/jenkins/provided port:49600 is not reachable
at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:311)
at hudson.remoting.Engine.innerRun(Engine.java:724)
at hudson.remoting.Engine.run(Engine.java:540)
※(エラーログのurlと時間は変更しています)
まず,新ノードPCからアクセスするJenkinsのマスターのURLをIPアドレスからリネームしている方もIPアドレスからアクセスしてください.
次に,本エラーの対処方法ですが,私の場合は既に別のノードPCが接続された状態で,さらに新規のノードPCの追加中にこのエラーが発生しました.Jenkinsの設定,JenkinsのバージョンもJavaのバージョン,ファイルパスも合わせたのにエラーが発生してしまいました.
そこで,jenkins-agent.jnlpの中身を比較し,修正したところ接続することができました.
jenkins-agent.jnlpをエディタで開き,後ろの</argument>と</application-desc>の間に「<argument>
この1文を追加するだけで,接続することができました!
なぜ,jenkins-agent.jnlpの中身が異なるものになっていたのか原因は分かりませんが,個人では中々気付くことが出来ないと思うので,同様のエラーが発生している方はやってみてください!
・Java version違いエラー
発生エラー
** **, 20** **:**:** ** Main verifyJavaVersion
SEVERE: Running with Java class version 63 which is not in the list of support versions: [52, 55]. Run with the --enable-future-java flag to enable such behavior, See https://jenkins.io/redirect/java-support/
java.lang.UnsupportedClassVersionError: 63.0
at Main.verifyJavaVersion(Main.java:130)
at Main.main(Main.java:99)
Jenkins requires Java versions [8, 11] but you are running with Java 19 from C:\**
at Main.verifyJavaVersion(Main.Java:130)
at Main.main(Main.java:99)
こちらのエラーはJenkinsでの対応可能なJavaのバージョンと使用環境のJavaバージョンの不整合により発生します.
JetnkinsでのJava対応バージョンは8か11なので,それ以外のバージョンを使用すると発生します.
私の場合はJavaのバージョンは19だったので,エラーが発生してしまいました.また,Jenkinのバージョン2.357以降はJava8の対応がなくなることがこちらの記事で発表されています.
Jenkins公式サイト(Java対応バージョン)
そのため,Javaをインストールし直す場合,バージョン11をおすすめします.
・agent.jar不足エラー
今後,追記予定
・Javaパスエラー
今後,追記予定