在 jenkins 上将 windows 7 slave 连接到 debian master 的问题

Posted

技术标签:

【中文标题】在 jenkins 上将 windows 7 slave 连接到 debian master 的问题【英文标题】:Issue connecting windows 7 slave to debian master on jenkins 【发布时间】:2012-08-13 00:31:10 【问题描述】:

我正在尝试将一个 Windows 从站连接到 jenkins 上的一个 linux 主站,但我总是看到下面的错误。我已经尝试了下面链接中提到的所有内容,但仍然看到相同的错误。

ERROR: Access is denied. See http://wiki.jenkins-ci.org/display/JENKINS/Windows+slaves+fail+to+start+via+DCOM for more information about how to resolve this.
org.jinterop.dcom.common.JIException: Message not found for errorCode: 0x00000005   
    at org.jinterop.dcom.core.JIComServer.init(JIComServer.java:542)    
    at org.jinterop.dcom.core.JIComServer.initialise(JIComServer.java:458)
    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:225)
    at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:200)   
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)   
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)     
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662) 
Caused by: rpc.FaultException: Received fault. (unknown)    
    at rpc.ConnectionOrientedEndpoint.call(ConnectionOrientedEndpoint.java:142)
    at rpc.Stub.call(Stub.java:112)     
    at org.jinterop.dcom.core.JIComServer.init(JIComServer.java:538)    
    ... 10 more

【问题讨论】:

您使用的是主帐户还是系统帐户的管理员帐户?您是否尝试过该链接中提到的注册表黑客? 我使用的是系统账号 是的,我确实尝试了注册表黑客,我得到了同样的错误 我很幸运地设置了一个专门的管理员帐户,然后在 Jenkins 界面中提供了该帐户。不过,您必须了解该方法如何适合您的整体安全架构。 我现在取得了一些成功,我做了一些注册表调整,主 Linux 框现在正在与从属 Windows 框对话。我仍然看到这个错误错误:服务没有响应。也许它无法启动? 【参考方案1】:
    以“管理员”身份启动“regedit.exe” 找到以下注册表项:'HKEY_CLASSES_ROOT\CLSID76A64158-CB41-11D1-8B02-00600806D9B6' 右键单击并选择“权限” 按“高级” 双击管理员 允许完全控制 重启远程注册表服务

更新:正如 @Kobi 在 cmets 中提到的,

如果你不能改变权限,你需要先change the owner这个注册表路径,在“高级>所有者”下。

可以在here找到有关更改所有权的分步说明。

【讨论】:

注意:如果你不能改变权限,你需要先change the owner这个注册表路径,在“高级>所有者”下。 @Kobi 的回答应该得到更多的支持!谢谢科比。

以上是关于在 jenkins 上将 windows 7 slave 连接到 debian master 的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IIS 7、Windows 7 上将 ASP.NET 4.0 添加为应用程序池

如何在 Windows 7 上将 matplotlib whl 文件安装到 Python? [复制]

在 Windows 7 上将“django-admin.py”路径添加到命令行

在 Windows 7 上将文件重命名为 md5 sum + 扩展名(使用 CMD 或 PowerShell 2013)

构建步骤“执行 shell”在 Jenkins CI 上将构建标记为失败,没有任何错误

如何在 Windows 10 上将代理配置到 GitBash 环境中