it-swarm.com.de

Jenkins-Knotenverbindungsprobleme

Hallo, ich habe die folgende Fehlermeldung, aber mein Knoten ist aktiv und in den Protokollen von Jenkins ist alles in Ordnung, aber bei einigen Jobs, die auf den Knoten laufen, habe ich folgende Probleme

12:59:29 [EnvInject] - Loading node environment variables.
12:59:29 ERROR: SEVERE ERROR occurs
12:59:29 org.jenkinsci.lib.envinject.EnvInjectException: hudson.remoting.ChannelClosedException: channel is    already closed
12:59:29    at org.jenkinsci.plugins.envinject.service.EnvironmentVariablesNodeLoader.gatherEnvironmentVariablesNode(EnvironmentVariablesNodeLoader.Java:75)
12:59:29    at org.jenkinsci.plugins.envinject.EnvInjectListener.loadEnvironmentVariablesNode(EnvInjectListener.Java:81)
12:59:29    at org.jenkinsci.plugins.envinject.EnvInjectListener.setUpEnvironment(EnvInjectListener.Java:39)
12:59:29    at hudson.model.AbstractBuild$AbstractBuildExecution.createLauncher(AbstractBuild.Java:637)
12:59:29    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.Java:543)
12:59:29    at hudson.model.Run.execute(Run.Java:1676)
12:59:29    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.Java:43)
12:59:29    at hudson.model.ResourceController.execute(ResourceController.Java:88)
12:59:29    at hudson.model.Executor.run(Executor.Java:231)
12:59:29 Caused by: hudson.remoting.ChannelClosedException: channel is already closed
12:59:29    at hudson.remoting.Channel.send(Channel.Java:524)
12:59:29    at hudson.remoting.Request.call(Request.Java:129)
12:59:29    at hudson.remoting.Channel.call(Channel.Java:722)
12:59:29    at hudson.FilePath.act(FilePath.Java:1003)
12:59:29    at org.jenkinsci.plugins.envinject.service.EnvironmentVariablesNodeLoader.gatherEnvironmentVariablesNode(EnvironmentVariablesNodeLoader.Java:44)
 12:59:29   ... 8 more
12:59:29 Caused by: Java.io.IOException
12:59:29    at hudson.remoting.Channel.close(Channel.Java:1007)
12:59:29    at hudson.slaves.ChannelPinger$1.onDead(ChannelPinger.Java:110)
12:59:29    at hudson.remoting.PingThread.ping(PingThread.Java:120)
12:59:29    at hudson.remoting.PingThread.run(PingThread.Java:81)
12:59:29 Caused by: Java.util.concurrent.TimeoutException: Ping started on 1401694124050 hasn't completed at 1401694364050
12:59:29    ... 2 more
12:59:29 Archiving artifacts
12:59:29 Email was triggered for: Failure
12:59:29 Sending email for trigger: Failure
12:59:29 ERROR: Error: No workspace found!
12:59:29 Error retrieving environment vars: channel is already closed
12:59:29 Sending email to: $EMAIL_USERS
12:59:49 Error sending to the following INVALID addresses: $EMAIL_USERS
12:59:49 [EnvInject] - [ERROR] - SEVERE ERROR occurs: channel is already closed

 12:59:49 Finished: FAILURE
25

Ich kenne den Grund nicht, aber er geschieht nach einem Neustart der Slave-Maschine oder wenn die Maschine die Verbindung verloren hat (über einen längeren Zeitraum).

Das Problem (in meinem Fall) war, dass der Prozess Java -jar slave.jar nicht im Slave ausgeführt wurde .. Um das Problem zu lösen, verbinden Sie den Knoten in Jenkins-Menüs erneut.

Jenkins verwalten -> Knoten verwalten -> YOUR_NODE -> Verbindung trennen

Jenkins verwalten -> Knoten verwalten -> YOUR_NODE -> Sklavenagenten starten

43
user3895254

Das hat für mich funktioniert:

  1. Stellen Sie sicher, dass der Jenkins-Knotendienst ausgeführt wird
  2. Rufen Sie die knotenspezifische Seite von Jenkins auf und klicken Sie auf "Trennen".

In meinem Fall wurde die Verbindung automatisch hergestellt und ich war von dort aus eingestellt.

2
SkipKent

Es kann auch vorkommen, dass Sie keinen konfigurierten DNS haben und sich die IP-Adresse des Slaves plötzlich zwischen den Jobs geändert hat. Das Trennen/Neustarten des Slave-Agenten mit der richtigen IP-Adresse hilft ebenfalls. 

1
dreamzor

Reinigen Sie den Arbeitsbereich. Viele gespeicherte und zwischengespeicherte Inhalte können einen solchen Fehler verursachen

0

In meinem Fall war Jenkins Sklave aufgehängt. Ich konnte nicht ssh und überprüfen. Obwohl der Slave-Knoten online angezeigt wurde. Es kann jedoch keine Verbindung hergestellt werden, wenn versucht wird, die Verbindung zu trennen und erneut herzustellen.

In meinem Fall habe ich meinen Slave-Knoten neu gestartet, dann funktioniert es gut.

0
santosh verma