Jenkins windows slave offline



我在 CentOS 7 服务器上有 Jenkins 2.164.3。
我有一个Windows Server 2003从属服务器,Java版本为1.8.0。
我有 3 个 Linux 从属服务器成功工作。
从站上的窗口服务已安装并正在运行。
Windows从属设置如下,启动方法"让詹金斯控制这个Windows药膏作为Windows服务器">

这个 Jenkins 服务器是一个新的服务器,它取代了旧的 Jenkins 服务器(debian wheezy 来自交钥匙 Linux ~3 年前)。这个窗口从属服务器曾经连接到那个旧服务器。 为了删除此从站与旧服务器上的连接,我执行以下操作: 1. SC 删除 2. 删除
了文件夹 C:\jenkins 中的文件 3. 重新启动服务器
4. 从新的 Jenkins 服务器启动 slave,将文件复制到 C:\Jenkins
文件夹并安装服务。

在我的新 jenkins 服务器上,我设置了 windows slave,当我连接时,日志如下:

[2019-05-27 12:24:07] [windows-slaves] Connecting to 192.168.1.152
Checking if Java exists
java -version returned 1.8.0.
[2019-05-27 12:24:16] [windows-slaves] Copying jenkins-slave.xml
[2019-05-27 12:24:16] [windows-slaves] Copying slave.jar
[2019-05-27 12:24:16] [windows-slaves] Starting the service
[2019-05-27 12:24:16] [windows-slaves] Waiting for the service to become ready
ERROR: [2019-05-27 12:24:52] [windows-slaves] The service did not respond. Perhaps it failed to launch?
[2019-05-27 12:36:00] [windows-slaves] Connecting to 192.168.1.152
Checking if Java exists
java -version returned 1.8.0.
[2019-05-27 12:36:08] [windows-slaves] Copying jenkins-slave.xml
[2019-05-27 12:36:08] [windows-slaves] Copying slave.jar
[2019-05-27 12:36:08] [windows-slaves] Starting the service
ERROR: Unexpected error in launching an agent. This is probably a bug in Jenkins
org.jinterop.dcom.common.JIException: Service Already Running
at org.jvnet.hudson.wmi.Win32Service$Implementation.start(Win32Service.java:149)
Caused: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.kohsuke.jinterop.JInteropInvocationHandler.invoke(JInteropInvocationHandler.java:140)
Caused: java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy90.start(Unknown Source)
at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:342)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:294)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Windows从属服务器是Windows Server 2003,该服务已安装并正在运行。

在日志文件 C:\Jenkins\jenkins-slave.wrapper.log 中,它具有以下内容:

2019-05-27 12:19:32,644 INFO  - Starting ServiceWrapper in the service mode
2019-05-27 12:19:32,659 INFO  - Starting javaw.exe -Xrs  -jar "C:Jenkinsslave.jar" -tcp "C:Jenkinsport.txt"
2019-05-27 12:19:32,675 INFO  - Extension loaded: killOnStartup
2019-05-27 12:19:32,675 DEBUG - Checking the potentially runaway process with PID=1408
2019-05-27 12:19:32,675 DEBUG - No runaway process with PID=1408. The process has been already stopped.
2019-05-27 12:19:32,675 INFO  - Starting javaw.exe -Xrs  -jar "C:Jenkinsslave.jar" -tcp "C:Jenkinsport.txt"
2019-05-27 12:19:32,691 INFO  - Started process 4084
2019-05-27 12:19:32,691 DEBUG - Forwarding logs of the process System.Diagnostics.Process (javaw) to winsw.SizeBasedRollingLogAppender
2019-05-27 12:19:32,691 INFO  - Recording PID of the started process:4084. PID file destination is C:Jenkinsjenkins_agent.pid
2019-05-27 12:23:56,529 INFO  - Stopping jenkinsslave-C__Jenkins
2019-05-27 12:23:56,529 DEBUG - ProcessKill 4084
2019-05-27 12:23:56,561 INFO  - Stopping process 4084
2019-05-27 12:23:56,561 INFO  - Send SIGINT 4084
2019-05-27 12:23:56,561 WARN  - SIGINT to 4084 failed - Killing as fallback
2019-05-27 12:23:56,561 INFO  - Finished jenkinsslave-C__Jenkins
2019-05-27 12:23:56,561 DEBUG - Completed. Exit code is 0
2019-05-27 12:24:16,374 INFO  - Starting ServiceWrapper in the service mode
2019-05-27 12:24:16,390 INFO  - Starting javaw.exe -Xrs  -jar "C:Jenkinsslave.jar" -tcp "C:Jenkinsport.txt"
2019-05-27 12:24:16,405 INFO  - Extension loaded: killOnStartup
2019-05-27 12:24:16,405 DEBUG - Checking the potentially runaway process with PID=4084
2019-05-27 12:24:16,405 DEBUG - No runaway process with PID=4084. The process has been already stopped.
2019-05-27 12:24:16,405 INFO  - Starting javaw.exe -Xrs  -jar "C:Jenkinsslave.jar" -tcp "C:Jenkinsport.txt"
2019-05-27 12:24:16,421 INFO  - Started process 364
2019-05-27 12:24:16,421 DEBUG - Forwarding logs of the process System.Diagnostics.Process (javaw) to winsw.SizeBasedRollingLogAppender
2019-05-27 12:24:16,421 INFO  - Recording PID of the started process:364. PID file destination is C:Jenkinsjenkins_agent.pid

詹金斯服务器上的错误显示服务未运行。在窗口从属机器上,该服务正在运行。问题是什么,我该如何解决?

谢谢。

非常老的问题,但是如果您因为收到此错误而最终到达这里,请找到jenkins_agent.pid文件并将其删除。它应该与其余的 jenkins 从属文件位于同一文件夹中。之后,服务应再次正常启动。

我知道这个问题很老了,你早就继续了,但也许这会对某人有所帮助。我在Windows从属服务器上遇到了类似的问题,特别是我看到它经历了一个重新启动周期,就像您一样:

2019-05-27 12:24:16,405 DEBUG - Checking the potentially runaway process with PID=4084
2019-05-27 12:24:16,405 DEBUG - No runaway process with PID=4084. The process has been already stopped.
2019-05-27 12:24:16,405 INFO  - Starting javaw.exe -Xrs  -jar "C:Jenkinsslave.jar" -tcp "C:Jenkinsport.txt"
2019-05-27 12:24:16,421 INFO  - Started process 364

为了解决这个问题,我检查了以下内容:

  • 查看 Windows 服务是否正在运行,循环它
  • 除了检查C:<path to jenkins>jenkins-slave.wrapper.log还要看看C:<path to jenkins>jenkins-slave.err.log
    • 错误日志是我发现问题的地方,我的证书unable to find valid certificate有问题
  • 编辑C:<path to jenkins>jenkins-slave.xml文件并修复导致问题的任何启动参数。确保检查 java 路径和版本。
    • 在我的证书错误案例中,我需要在我的参数中添加一个-noCertificateCheck,以便我可以继续

另一个潜在的失败可能是jenkins-slave.xml配置文件中的executable设置不再指向有效的java.exe

这可能会在 Java 更新后发生

最新更新