2014-08-27 4 views
7

Моя подчиненная машина Jenkins - Mac 10.8. Дженкинс запустить работу на моем рабом машины и запустить оболочку команды cocoapods ниже:Не удается запустить «pod install» в jenkins

pod install 

и получил ошибку из консоли вывода Дженкинс работы, пожалуйста, проверьте ниже:

pod: command not found 

Я попытался запустить эту команду «pod install» в локальном терминале этой подчиненной машины и получает преуспевает.

Можете ли вы любезно помочь мне в решении этой проблемы?

Спасибо.

+0

Вы попробовали предложение? – Technext

+0

http://stackoverflow.com/a/30934258/4712174 –

ответ

4

Кажется, пользователь, с которым работает Jenkins, не получает путь к команде pod, что вы можете успешно завершить выполнить из командной оболочки узла. Все, что вам нужно сделать, это явно добавить путь в переменную PATH в конфигурацию вашего узла Node. Для этого Go to Jenkins > Manage Jenkins > Manage Nodes > Select the Node where your job is running > Click on Configure > Enable Node Properties. Смотрите скриншот ниже:

enter image description here

Просто добавьте путь к вашей команде стручок в переменной PATH. Для отл., Если команда стручок присутствует в/USR/бен, а затем в имя поле, введите PATH и в поле значение, введите /usr/bin/:$PATH

Я не работал на Mac, но мы надеемся, то выше команда должна работать там тоже. Если он не работает, вы можете поместить следующую строку в $ HOME/.bash_profile файл пользователя, с которым Дженкинс работает: PATH=path_to_pod:$PATH

Вы можете найти путь к POD команды, набрав which pod в командной строке ,

19

В моем случае мой рубин установлен rvm. Мне нужно загрузить rvm, чтобы найти команду pod.

Что я сделал, это добавить эту строку #!/bin/bash -l в начале работы с дженкинсом.

+1

Спасибо, эта работа для меня. –

+0

Это сработало и для меня! Я новичок * nix, не могли бы вы объяснить, что это делает? –

+1

Daniel: если вы наберете 'man bash' в терминале, вы получите руководство. Там он говорит, что '-l' 'делает команду bash так, как если бы она была вызвана как оболочка входа". Оболочка входа работала в случае OP, поэтому это заставляет ее работать при вызове из jenkins. –

6

Сегодня в этой же проблеме возникла проблема, но ни один из решений не работал. Что изменило работу команды установки.

Смежные вопросы