Подтвердить что ты не робот

Интеграция Дженкинса с Grunt

Я установил Jenkins v1.550 на Windows Server 2008 R2. На данный момент он работает как услуга http://localhost:8080. Я вошел в систему как администратор. Я установил Node.js и могу запустить "npm" из командной строки.

Я также установил плагин NodeJS v0.2.1 для Jenkins. Затем я перешел в раздел "Конфигурация системы" Jenkins, прокрутился до установок NodeJS, нажал кнопку "Добавить NodeJS", дал "NodeJS" в качестве имени и "C:\Program Files\nodejs" в качестве пути к каталогу установки. Я не проверял параметр "Установить автоматически", когда прочитал на плагине, что он доступен только для Linux.

Затем я создал новое задание, щелкнув флажок "Предоставить Node и npm bin/folder для PATH", создал новый шаг сборки для "Выполнение командной команды Windows" и набрал "node - версии" и "grunt --version" и сохранил его.

Я запустил задание, и это результат -

Building in workspace C:\Program Files (x86)\Jenkins\workspace\Test_1.0
[Test_1.0] $ cmd /c call C:\Windows\TEMP\hudson1381541243088903083.bat

C:\Program Files (x86)\Jenkins\workspace\Test_1.0>node --version 
v0.10.24

C:\Program Files (x86)\Jenkins\workspace\Test_1.0>grunt --version 
'grunt' is not recognized as an internal or external command,
operable program or batch file.

C:\Program Files (x86)\Jenkins\workspace\Test_1.0>exit 9009 
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE

Похоже, что он не может найти grunt-cli для учетной записи пользователя, в которой работает Jenkins (System). Я попытался установить grunt cli глобально (npm install -g grunt-cli), а также ворчать локально (npm install grunt). Не повезло.

Кто-нибудь может помочь?

4b9b3361

Ответ 1

для приятной простой настройки самостоятельно установленных узлов на машине, я должен рекомендовать отличный → http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

он установит nodejs и хрюкает на машине, с помощью простого в использовании веб-интерфейса не требуется никакая оболочка

jenkins jobs может просто запускать шаги сборки nodejs, hey presto

:

a) установите это в свой экземпляр jenkins → http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

b) создать установку nodejs на jenkins

перейдите к

http://URL_OF_JENKINS/jenkins/configure
  • NodeJS- > Установки NodeJS → Добавить NodeJS → Name = "NodeJS 0.11.10", отметьте "Установить автоматически", выберите "Установить с nodejs.org", добавьте "grunt-cli" к глобально установленным пакетам

c) создать задание с задачей выполнить "выполнить NodeJS script"

var sys = require('sys');
sys.puts('NodeJS Test');
sys.puts('***************');
sys.puts('helloworld');

volia:)

запустите задание и просмотрите команду nodejs script,

от их мира ваша устрица, вы можете использовать grunt, отметив "Предоставить Node/npm bin folder to PATH" и запустить задачу сборки "выполнить оболочку"

npm update
grunt
grunt --force reporting

Ответ 2

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

Ответ 3

У меня есть ворчание, выполняющее некоторые задачи для меня в Дженкинсе, но я пошел маршрут npm script. Grunt и grunt-cli являются зависимыми от dev, и в моем файле package.json указано следующее:

"scripts": {
    "test": "node node_modules/grunt-cli/bin/grunt test"
},

В Jenkins (работает в Windows) я добавил две задачи после сборки:

npm install

npm test

Мы только что установили NodeJs, как правило, на сервере Jenkins.

Ответ 4

Другим решением, которое работало для меня в Windows, является использование полного пути к файлу exec grunch, который можно найти, написав "where grunt" в командной оболочке. Я использовал полный путь в обычном bat файле.

Ответ 5

В Windows такая же проблема. Когда я вручную установил node и запустил npm install -g grunt-cli из командной строки, дженкинс не смог распознать команду grunt. Поэтому удалите node, переустановите его, но не запустите npm install. Затем перезапустите ведомый jenkins. Затем из задания jenkins, работающего на вашем подчиненном jenkins, запустите команду пакетной обработки Windows, которая запускает npm install -g grunt-cli. После этого снова перезапустите службу jenkins. Затем из задания запустите npm install. Тогда все сработало для меня. Если проблемы все еще сохраняются, удалите ведомое устройство и переустановите его, после чего все будет нормально работать.