无法从Jenkins节点将文件签入到perforce

无法从Jenkins节点将文件签入到perforce,jenkins,perforce,perforce-client-spec,p4java,Jenkins,Perforce,Perforce Client Spec,P4java,我们正在为Jenkins编写一个新插件,其中一个要求是将生成的文件上传到perforce。 如果我的文件驻留在主代理上,但如果它们驻留在从代理(Jenkins节点)上,我可以向Performance提交错误:找不到文件。我们尝试使用文件路径。 我们怀疑这是因为客户机是从主服务器创建的。代码如下: IOptionsServer srvr = ServerFactory.getOptionsServer("p4java://" + Port, null); srvr.connect(); srv

我们正在为Jenkins编写一个新插件,其中一个要求是将生成的文件上传到perforce。 如果我的文件驻留在主代理上,但如果它们驻留在从代理(Jenkins节点)上,我可以向Performance提交错误:找不到文件。我们尝试使用文件路径。 我们怀疑这是因为客户机是从主服务器创建的。代码如下:

IOptionsServer srvr = ServerFactory.getOptionsServer("p4java://" + Port, null); 
srvr.connect(); 
srvr.setUserName(User); 
srvr.login(Password); 

IClient client = new Client(srvr); 
client.setName(tmpClientName); 
client.setRoot(source.getRemote()); 
client.setOwnerName(p4User); 
client.setServer(srvr); 
client.setStream("StreamName"); 

ClientView mapping = new ClientView(); 
mapping.addEntry(new ClientView.ClientViewMapping(0,destination, "//" + tmpClientName + "/" + source.getName())); 
client.setClientView(mapping); 
try{ 
    srvr.createClient(client); 
    srvr.setCurrentClient(client);
}

有人能帮助我们如何从节点创建客户端吗?或任何其他见解?

如果您包括您得到的错误,这将非常有用。默认情况下,当您创建Perforce客户端时,它会将Host:字段设置为创建该客户端时使用的主机名,这将限制该主机的使用。查看您正在生成的客户端,看看是否设置了该字段。

从一些代码开始。错误:找不到文件。主机字段为空。我们尝试将其设置为节点的设置,但没有帮助。当您找不到文件时,它将尝试执行什么操作,是在“p4添加”期间吗?需要注意的一点是,在主服务器和从服务器上,客户端根目录的路径是否相同。如果您将绝对路径传递给'p4 add',并且两者的路径不相同,则可以这样做。