J'ai configuré Jenkins v1.550 sur Windows Server 2008 R2. Il fonctionne comme un service à http://localhost:8080
pour l'instant. Je suis connecté à la machine en tant qu'administrateur. J'ai installé Node.js et je peux exécuter "npm" à partir de la ligne de commande.
J'ai également installé le plugin NodeJS v0.2.1 pour Jenkins. Je suis ensuite allé dans la section Configurer le système de Jenkins, j'ai fait défiler la liste jusqu'aux installations NodeJS, j'ai cliqué sur le bouton Ajouter NodeJS, j'ai donné "NodeJS" comme nom et "C:\Program Files\nodejs" comme chemin d'accès au répertoire d'installation. Je n'ai pas coché l'option "Installer automatiquement" car j'ai lu sur la page du plugin qu'elle n'est disponible que pour Linux.
J'ai ensuite créé un nouveau travail, cliqué sur la case à cocher qui indique "Fournir Node & npm bin/dossier à PATH", créé une nouvelle étape de construction pour "Exécuter la commande par lots de Windows" et tapé "nœud --version "et" grunt --version "et enregistré.
J'ai couru le travail et c'est la sortie -
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
Il semble qu'il ne soit pas en mesure de trouver le grunt-cli pour le compte d'utilisateur que Jenkins exécute sous (Système). J'ai essayé d'installer grunt cli globalement (npm install -g grunt-cli
) et aussi grogner localement (npm install grunt
). Pas de chance.
Puis-je avoir une aide s'il vous plait?
pour Nice facile à configurer les nodejs auto-installés sur la machine, je dois recommander l'excellent -> http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin
il installera nodejs et grunt sur la machine, via un frontal web facile à utiliser sans Shell requis
les travaux jenkins peuvent alors simplement exécuter les étapes de construction de nodejs, hé presto
étapes impliquées:
a) installez ceci sur votre instance jenkins -> http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin
b) créer une installation nodejs sur jenkins
aller à
http://URL_OF_JENKINS/jenkins/configure
c) créer un travail avec la tâche de construction "exécuter le script NodeJS"
var sys = require('sys');
sys.puts('NodeJS Test');
sys.puts('***************');
sys.puts('helloworld');
volia :)
exécuter le travail et voir le script nodejs s'exécuter,
de leur monde, c'est votre huître que vous pouvez utiliser grognement en cochant "Fournir le dossier bin Node/npm à PATH" et en exécutant une tâche de construction "Exécuter Shell"
npm update
grunt
grunt --force reporting
Vous devrez redémarrer le service Jenkins après avoir installé le nœud, probablement pour le faire actualiser sa copie en cache de votre variable d'environnement PATH
J'ai du grognement en train de faire quelques tâches pour moi dans Jenkins, mais j'ai suivi la route du script npm. Grunt et grunt-cli sont des dépendances de développement, et j'ai défini ce qui suit dans mon fichier package.json:
"scripts": {
"test": "node node_modules/grunt-cli/bin/grunt test"
},
Dans Jenkins (fonctionnant sous Windows), j'ai ajouté deux tâches post-build:
npm install
npm test
Nous venons d'installer NodeJs normalement sur le serveur Jenkins.
Eu le même problème sur Windows. Lorsque j'ai installé manuellement le nœud et exécuté npm install -g grunt-cli à partir de la ligne de commande, jenkins n'a pas pu reconnaître la commande grunt. Désinstallez donc le nœud, réinstallez-le mais ne lancez pas l'installation de npm. Redémarrez ensuite l'esclave Jenkins. Ensuite, à partir du travail jenkins qui s'exécute sur votre esclave jenkins spécifique, faites-lui exécuter une commande batch Windows qui s'exécute npm install -g grunt-cli Après cela, redémarrez à nouveau le service jenkins. Puis à partir de l'exécution du travail npm install. Ensuite, tout a fonctionné pour moi. Si les problèmes persistent, désinstallez l'esclave et réinstallez-le, tout fonctionne correctement immédiatement.
Une autre solution qui a fonctionné pour moi sur Windows consiste à utiliser le chemin d'accès complet au fichier exécutable grunt, qui peut être trouvé en écrivant "where grunt" dans la commande Shell. J'ai utilisé le chemin complet dans le fichier bat normal.