2017-01-31 6 views
0

Мы пишем новый плагин для Jenkins, и одно из требований заключается в загрузке сгенерированных файлов. Я могу подчиниться, если мои файлы находятся на главном компьютере, но нет, если они находятся на подчиненном агенте (узел Дженкинса). Ошибка: файл не найден. Мы попытались использовать FilePath. У нас есть сомнения, что это происходит потому, что клиент создается от мастера. Вот код:Невозможно проверить файлы, которые необходимо выполнить с узла Jenkins

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); 
} 

Может ли кто-нибудь помочь с тем, как создать клиент с узла? или любые другие идеи?

+0

Начните с кода. – sphinks

ответ

0

Было бы полезно, если бы вы включили то, что вы получили. По умолчанию при создании клиента Perforce он устанавливает для поля Host: имя хоста, на котором он был создан, что ограничивает его использование для этого хоста. Взгляните на создаваемых вами клиентов и посмотрите, установлено ли это поле.

+0

Ошибка: файл не найден. Поле хоста было пустым. мы попытались установить его на узел, но это не помогло. – user3628860

+0

Что он пытается сделать, когда вы не нашли файл, это во время «p4 add»? Одна вещь, на которую нужно обратить внимание, это то, что путь к корню клиента одинаковый на главном и подчиненном. Если вы передаете абсолютный путь к «p4 add», и это не то же самое для обоих, это сделало бы это. –