2013-06-17 4 views
5

У меня возникла проблема с запуском скрипта bash как задания в Jenkins (Выполнение шага оболочки). В основном я сузил свой сценарий, чтобы быть одной строкой, чтобы проверить, почему Дженкинс не смог запустить его. Вот оно:Jenkins Нет такой ошибки файла или каталога. Но файл существует

waxsim 

Так что это всего лишь одна строка. Это должно дать мне этот результат при беге без параметров:

No app-path was specified! 
usage: waxsim [options] app-path 
example: waxsim -s 2.2 /path/to/app.app 
Available options are: 
    -s sdk Version number of sdk to use (-s 3.1) 
    -f family Device to use (-f ipad) 
    -e VAR=value Environment variable to set (-e CFFIXED_HOME=/tmp/iphonehome) 
    -a Available SDKs 
    -v path Output video recording at path 
    -h Prints out this wonderful documentation! 

Jenkins работает как пользователь jenkins. Когда работа побежал он терпит неудачу с:

+ waxsim 
/var/folders/gx/t63prwt53w7gr2jjt9k66q9800009c/T/hudson4478539334800834890.sh: 
line 3: waxsim: No such file or directory 
Build step 'Execute shell' marked build as failure 

Когда я исполняю waxsim вручную, вошли в систему как пользователь Дженкинс, все работает отлично. Он работает для каждого пользователя на машине. Он работает не только при выполнении задания Дженкинса. Кто-нибудь знает, в чем проблема?

Я попытался указать полный путь к waxsim, то есть: /usr/bin/waxsim, но это не имеет значения.

Спасибо!

ответ

3

Причина, по которой это срабатывает при запуске в Терминале, и это не происходит при запуске Дженкинсом, оказалось тривиальным.

В терминале я запускаю bash, а Дженкинс использует оболочку. Таким образом, добавление экспорта PATH в сценарий запуска исполняемого файла Jenkins решило проблему.

+13

Что вы подразумеваете под ** добавлением экспорта PATH в Jenkins '**? –

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