Клиент командной строки 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-> Глобальные настройки