Интеграция Дженкинса с Грантом

Я установил 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.

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

Я выполнил работу, и это вывод -

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 (Система). Я пытался установить Grunt Cli глобально (npm install -g grunt-cliа также ворчать на месте (npm install grunt). Неудачно.

Может кто-нибудь, пожалуйста, помогите?

5 ответов

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

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

Дженкинс Джобс может затем просто выполнить шаги сборки nodejs, эй presto

вовлеченные шаги:

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

б) создать инсталляцию nodejs на jenkins

идти к

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

c) создать задание с помощью задачи сборки "execute NodeJS script"

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

Воля:)

запустите работу и посмотрите, как выполняется скрипт nodejs,

их мир - ваша устрица, которую вы можете использовать grunt, отметив галочкой "Предоставить папку Node / npm bin для PATH" и запустив задачу сборки "execute shell"

npm update
grunt
grunt --force reporting

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

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

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

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

npm install

npm test

Мы просто установили NodeJ на сервер Jenkins.

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

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

Другие вопросы по тегам