Клиент командной строки P4 в Jenkin выдает на OSX

Я почесал голову по этому вопросу, но не нашел способа обойти это. Я установил Jenkins на свой OSX v10.8.4 с помощью установщика Jenkins 1.571 с веб-сайта Jenkins. Он устанавливается по умолчанию в папку /Users/Shared/Jenkins/Home.

Я хочу использовать Jenkins в качестве CI-сервера для своего кода iOS, находящегося на исполнительном сервере моей компании. Для этого я создал пользователя (совпадающего с именем моего обычного пользователя и тем же паролем) в моем окне OSX. Я также скопировал командную строку P4 в /usr/local/bin и правильно настроил P4PORT, чтобы он указывал на настройки моего сервера перформанса. Все идет нормально.

Я проверил, что мне удалось подключиться к серверу Perforce из командной строки с помощью команды входа в систему p4, и он успешно работал.

Затем я установил плагин Perforce из опции "Подключаемые модули Jenkins Manage" ( https://wiki.jenkins-ci.org/display/JENKINS/Perforce+Plugin). Теперь, когда я создаю новое задание и правильно указываю настройки в плагине Perforce задания jenkins, я всегда получаю следующие ошибки:

   Создано пользователем anonymous
   Создание в рабочей области / Пользователи / Общие / Jenkins / Главная / Работа / iosbuild / Рабочая область
   Использование мастер-клиента перформанса: ios-jenkins
   [рабочее пространство] рабочее пространство $ p4 -o ios-jenkins
   Поймал исключение общения с перформансом. Не удалось запустить Perforce           command.com.tek42.perforce.PerforceException: Не удалось запустить Perforce команду.
    в hudson.plugins.perforce.HudsonP4DefaultExecutor.exec(HudsonP4DefaultExecutor.java:90)
    на com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:331)
    в com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:301)
    на com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:61)
    в hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:1615)
    в hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:1576)
    в hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:892)
    в hudson.model.AbstractProject.checkout(AbstractProject.java:1252)
    at     hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:624)
    в jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:530)
    at hudson.model.Run.execute(Run.java:1732)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    в hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:234)
    Причина: java.io.IOException: Невозможно запустить программу "p4" (в каталоге "/Users/Shared/Jenkins/Home/jobs/iosbuild/workspace"): error=2, нет такого файла или каталога
    в java.lang.ProcessBuilder.processException(ProcessBuilder.java:478)
    в java.lang.ProcessBuilder.start(ProcessBuilder.java:457)
    на hudson.Proc$LocalProc.(Proc.java:244)
    на hudson.Proc$LocalProc.(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:780)
    в hudson.Launcher$ProcStarter.start(Launcher.java:360)
    в hudson.plugins.perforce.HudsonP4DefaultExecutor.exec(HudsonP4DefaultExecutor.java:81)
    ... еще 14
    Вызывается: java.io.IOException: error=2, нет такого файла или каталога
    в java.lang.UNIXProcess.forkAndExec(собственный метод)
    в java.lang.UNIXProcess.(UNIXProcess.java:53)
    в java.lang.ProcessImpl.start(ProcessImpl.java:91)
    в java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
    ... еще 19
    ОШИБКА: Невозможно связаться с перформансом. Не удалось запустить команду Perforce.
    Закончено: НЕИСПРАВНОСТЬ`

Сначала я указал плагин Perforce jenkins, чтобы создать для меня рабочее пространство, а также позволил jenkins управлять своими представлениями, но я все еще получил ту же ошибку, что и выше. Следующее - моя карта просмотра:

// депо /rombay/MarketingApplication/iOS/ianywhere/... //ios-jenkins/ депо / rombay / MarketingApplication / iOS / везде /...

Затем я создал рабочее пространство с помощью клиента p4v, а затем отменил выбор, позволяя jenkins создавать мои рабочие пространства и управлять моими представлениями. Карта вида остается прежней. Тем не менее, я все еще получаю ту же ошибку.

Я догадываюсь, что поскольку Jenkins установлен в общей папке, он не может выполнить команду p4. Тем не менее, я попытался сделать это, и это открыло для меня клиентскую спецификацию в vi, что я предполагаю ожидаемое поведение, но я до сих пор не понимаю, почему он говорит, что не может найти программу p4, которая будет работать для меня,

Любая помощь здесь будет высоко ценится, поскольку у меня заканчиваются идеи относительно того, что может быть, я делаю неправильно.

Большое спасибо, Ашиш

1 ответ

Нет мягких ссылок не требуется. Проверьте, обновили ли вы Глобальные настройки для p4. Управление Jenkins-> Глобальные настройки

Другие вопросы по тегам