クライアントVMでWindowsサービスとしてJenkinsを起動すると、奇妙な問題が発生します。
1)私はJenkinsをWindowsサービスとしてクライアント側マスターマシン(Windows VM)で起動しましたおよびmylocal machineをスレーブとして構成しましたが、マスターとスレーブ間の接続を確立できません。次のエラーが発生します。
「Java.lang.Exception:サーバーが接続を拒否しました:どのプロトコルも受け入れられませんでした」
マスターとスレーブの両方が同じネットワークにあります(クライアントのネットワーク、VPNを使用して接続されたスレーブ)。
クライアントマスターマシンのドメイン名ABC
ローカルマシンのドメイン名xyz
2)WindowsサービスとしてJenkinsを停止し、コマンドプロンプトを使用して再度起動しました
"Java -jar jenkins.war"
これで、マスターとスレーブ間の接続を問題なく確立できました。
3)これで、JenkinsをWindowsサービスとして、**ローカルマシンのマスターとlocalの1つとして起動しましたマシンをスレーブとして、マスターとスレーブ間の接続を正常に確立しました。
point(1)を使用してマスターとスレーブ間の接続を確立しない理由は何ですか?
問題はJENKINS
側からです。バグはすでにJENKINSフォーラムで発生しており、ステータスはまだCritical&Unresolved:
https://issues.jenkins-ci.org/browse/JENKINS-29616
説明に従って:
スケジュールされたバッチは、次のスクリプトでスレーブエージェントを開始しようとしています。
taskkill /f /im "Excel.exe" taskkill /f /im "ipy.exe" taskkill /f /im "jp2launcher.exe" javaws http://172.16.8.57:8080/computer/SSW73210/slave-agent.jnlp
スレーブエージェントが開くと、囲まれたエラー以外の処理は失敗します。再起動後、この問題は再現されませんが、これはスレーブが一晩放置されている場合に劇的に発生する可能性があります。
私は同様の問題がありました、これは私が私の問題を解決するためにしたことです:
Jenkins 1.xから2.xにアップグレードした後、スレーブのリモートルートディレクトリ(私の場合はc:\ jenkins)をクリアしませんでした。スレーブをサービスとしてインストールするたびに、まったく同じエラーが発生します。多くの白髪の後、ようやく問題を見つけました。そのディレクトリからコンテンツを削除し、jenkinsスレーブをWindowsサービスとしてインストールすると、コンテンツが再入力され、スレーブは期待どおりに接続されました。
お役に立てれば
私は同様の問題に直面しました
cmdからslave-agent.jarを実行する必要がありました(Administratorとして実行)
> javaws "location of slave-agent.jar"
以前のバージョンのJavaをインストールして修正しました。 1.8.0_131 JDKを使用しました。
私もこの問題に直面し、それを修正することができましたか?同じエージェントが別のVMで実行されていました。私はそれを閉じ、再接続に成功し、エラーメッセージはもうありません。
私は同じ問題に直面し、上記の回答に加えて、Jenkinsマスターでファイアウォールを無効にしたところ、すべてがうまくいきました。また、これは本番環境では絶対にお勧めしません。初心者はファイアウォールの設定方法を知りませんでしたが、これはホームラボで行われたため、便利であることがわかりました。