2014-09-03 5 views
0

У меня есть сервер Jenkins, отправляющий команды через SSH на другую машину, чтобы развернуть веб-сайт, в рамках этого процесса я использую Grunt для сборки SASS. Если бы я войти в систему на сервере и запускать «хрюкать сборки-DEV» он отлично работает, однако если я использую следующую команду, чтобы послать команду на том же сервере, через SSHGrunt работает локально, но не через SSH

ssh myserver.org 'cd /var/www/myserver.org/htdocs/sites/all/themes/myserver; grunt build-dev' 

Я получаю сообщение об ошибке, как следующее;

npm WARN package.json [email protected] No README data 
Running "sass:dev" (sass) task 
Warning: 
You need to have Ruby and Sass installed and in your PATH for this task to work. 
More info: https://github.com/gruntjs/grunt-contrib-sass 
Use --force to continue. 

Aborted due to warnings. 

Я использовал НПМ установки для добавления зависимостей для Грунта не повезло, я также пытался добавить НПМ установить в команде SSH отправить на сервер, который делает установку зависимостей, как и ожидалось.

+1

Обычная причина - переменные среды - переменная PATH не включает необходимые элементы. ssh remote 'echo $ PATH' поможет вам начать работу. –

ответ

1

Как отметил джим mcnamara в ответ на мой вопрос, проблема была действительно проблемой с переменной PATH. Мне удалось решить проблему с помощью another Stack Overflow question. Я добавил source /etc/profile в начало моей SSH-команды.

В качестве альтернативы я мог бы использовать RVM для установки Ruby/Sass во всем мире, а не локально для использования SSH.