У меня работает Jenkins Master под Linux, и я хочу добавить Windows Slave.
В настоящее время я не могу запустить раб:
1) Java Web Start
-> Java Web Start удалена в JDK 11 (и никогда не была частью OpenJDK), поэтому, поскольку мы хотим переключить наш Jenkins для работы с openjdk11, это больше не будет работать, поэтому я даже не пробовал это.
2) Плагин Windows Slave
-> Я следовал за Устранением неполадок и убедился, что порты 135, 139 и 445 доступны от моего мастера Jenkins.
К сожалению, я все еще получаю сообщение об ошибке:
2019-06-12 14:54:28] [windows-slaves] Connecting to 1.2.3.4
ERROR: Message not found for errorCode: 0xC0000001
org.jinterop.dcom.common.JIException: Message not found for errorCode: 0xC0000001
at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKCR(JIWinRegStub.java:121)
at org.jinterop.dcom.core.JIComServer.initialise(JIComServer.java:479)
at org.jinterop.dcom.core.JIComServer.<init>(JIComServer.java:427)
at org.jvnet.hudson.wmi.WMI.connect(WMI.java:59)
at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:208)
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)
Caused by: jcifs.smb.SmbException: Failed to connect: 0.0.0.0<00>/1.2.3.4
jcifs.util.transport.TransportException
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at jcifs.util.transport.Transport.readn(Transport.java:29)
at jcifs.smb.SmbTransport.peekKey(SmbTransport.java:388)
at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:288)
at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:319)
at jcifs.util.transport.Transport.run(Transport.java:241)
at java.lang.Thread.run(Thread.java:748)
at jcifs.util.transport.Transport.run(Transport.java:258)
at java.lang.Thread.run(Thread.java:748)
at jcifs.smb.SmbTransport.connect(SmbTransport.java:309)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:156)
at jcifs.smb.SmbFile.doConnect(SmbFile.java:911)
at jcifs.smb.SmbFile.connect(SmbFile.java:954)
at jcifs.smb.SmbFile.connect0(SmbFile.java:880)
at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:77)
at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:66)
at jcifs.smb.SmbFile.getInputStream(SmbFile.java:2844)
at rpc.ncacn_np.RpcTransport.attach(RpcTransport.java:90)
at rpc.Stub.attach(Stub.java:104)
at rpc.Stub.call(Stub.java:109)
at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKCR(JIWinRegStub.java:119)
... 11 more
У кого-нибудь есть предложение? Или альтернатива двум упомянутым подходам?
Edit:
Я должен упомянуть, что ведущий работает локально, а ведомым является виртуальная машина Azure. Существует ExpressRoute, и, как я уже сказал, порты (135, 139, 445) открыты (telnet от главного к подчиненному был успешным для этих портов).