Я пытаюсь настроить агент сборки на хосте Windows, используя этот плагин в Jenkins:
https://plugins.jenkins.io/windows-slaves/
Я настроил агент/узел сборки Windows на мастере Jenkins и настроил правильную учетную запись службы на стороне Windows и предоставил пароль, но получаю сообщение об ошибке, связанное с Netbios и CIFS, похоже:
Вот сообщение об ошибке:
[2021-08-04 10:36:28] [windows-agents] Подключение к USAV1RBLD
ОШИБКА: сообщение не найдено для errorCode: 0xC0000001
org.jinterop.dcom.common.JIException: сообщение не найдено для errorCode: 0xC0000001
на org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKCR(JIWinRegStub.java:134)
на org.jinterop.dcom.core.JIComServer.initialise(JIComServer.java:509)
на org.jinterop.dcom.core.JIComServer.<init>(JIComServer.java:445)
на org.jvnet.hudson.wmi.WMI.connect(WMI.java:59)
на hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsSCancelerviceLauncher.java:208)
в hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:295)
в jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
в jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:80)
в java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
в java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
в java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
на java.base/java.lang.Thread.run(Thread.java:829)
Причина: jcifs.smb.SmbException: Не удалось подключиться: 0.0.0.0<00>/10.1.55.82
jcifs.util.transport.TransportException
java.net.SocketException: сброс соединения
в java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)
в java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
в jcifs.util.transport.Transport.readn(Transport.java:29)
в jcifs.smb.SmbTransport.peekKey(SmbTransport.java:388)
в jcifs.smb.SmbTransport.negotiate(SmbTransport.java:288)
в jcifs.smb.SmbTransport.doConnect(SmbTransport.java:319)
в jcifs.util.transport.Transport.run(Transport.java:241)
на java.base/java.lang.Thread.run(Thread.java:829)
в jcifs.util.transport.Transport.run(Transport.java:258)
на java.base/java.lang.Thread.run(Thread.java:829)
в jcifs.smb.SmbTransport.connect(SmbTransport.java:309)
в jcifs.smb.SmbTree.treeConnect(SmbTree.java:156)
в jcifs.smb.SmbFile.doConnect(SmbFile.java:911)
в jcifs.smb.SmbFile.connect(SmbFile.java:957)
в jcifs.smb.SmbFile.connect0(SmbFile.java:880)
в jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:77)
в jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:66)
в jcifs.smb.SmbFile.getInputStream(SmbFile.java:2847)
в rpc.ncacn_np.RpcTransport.attach(RpcTransport.java:91)
в rpc.Stub.attach(Stub.java:105)
в rpc.Stub.call(Stub.java:110)
на org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKCR(JIWinRegStub.java:132)
... еще 11
Я ссылаюсь на это руководство по устранению неполадок:
https://github.com/jenkinsci/windows-slaves-plugin/blob/master/docs/troubleshooting.adoc#access-is-denied-error
Я запустил telnet от мастера jenkins к узлу Windows на портах 139 и 445 и могу успешно подключиться. Таким образом, похоже, что соответствующие службы на узле jenkins прослушивают эти порты. Я также проверяю на узле Windows, что брандмауэр открыт для этих портов (я даже отключаю брандмауэр для проверки).
У кого-нибудь есть опыт настройки и есть идеи, к чему относится ошибка? Я исследовал сообщение об ошибке в другом месте, и оно указывает на общие службы Netbios и Windows, которые должны работать и прослушивать эти порты. И на основе telnet-соединения с узлом Windows и успешного подключения к этим портам эти службы действительно прослушиваются и разрешены через брандмауэр. Я что-то пропустил? Я ценю любую помощь.