Настройте бота xcode для создания и развертывания экспресс-сервера nodejs.

Я пытаюсь настроить проект xcode и бота, который создаст приложение nodejs on commit из репозитория github и перезапустит сервер после завершения сборки. В настоящее время бот улавливает изменения в репозитории, но не может правильно построить.

Я использую xcode external build tool project, который использует /bin/bash в качестве пути к инструменту, а рабочий каталог установлен на путь к локальному репозиторию.

Скрипт after integration бота выглядит примерно так:

npm install --production
npm run build
npm run server:restart

Я получаю ошибки типа [npm|node] is not recognized.

Просто ищу ясность в том, что я мог упустить или что может пойти не так.


person geschwe1    schedule 15.04.2016    source источник


Ответы (1)


Добавьте это в начало вашего скрипта и просмотрите вывод:

which node
set | grep PATH

Это произойдет, если node не находится на вашем пути, что может произойти из-за того, что скрипты сборки имеют довольно простую среду - они не работают как обычный пользователь. Возможно, вам придется добавить его в свой PATH в начале вашего скрипта сборки.

person Chad Robinson    schedule 15.04.2016
comment
PATH=/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin /var/folders/0d/yd64rp1d7ydg45jq0ws9w_p0000087/T/CE82881A-F94A-47D1-B408-B6110B07DF00-33111-000356C5B7C745B6: line 8: npm: command not found Я добавил команду npm install после предложенного вами кода - person geschwe1; 15.04.2016
comment
Запустите ту же команду which npm от имени обычного пользователя на коробке, чтобы определить, где она установлена. Для меня он находится в /usr/local/bin/npm, и если у вас такой же, указанный выше PATH его не найдет. Если это верно и для вас, export PATH=$PATH:/usr/local/bin в первой строке вашего скрипта исправит это. - person Chad Robinson; 16.04.2016
comment
Добавьте export PATH=$PATH:/usr/local/bin, так как мне помогла первая строка скрипта. - person Raniys; 10.08.2019