Je cours l'image Docker suivante Je ne peux pas sembler installer le nœud . Voici mon script de pipeline: p> la réponse lorsque cela s'exécute est le suivant: P> L'outil Jenkins Nodejs (qui fonctionne correctement lorsqu'il est utilisé avec un travail de freestyle) p> li>
Connexion dans le conteneur Docker et installer le nœud manuellement, pour le même utilisateur: P> li>
ul> Mise à jour: p> Bâtiment sur la réponse de Jesse Glick ci-dessous, j'ai ajouté le résultat à mes scripts Jenkinsci / Jenkins: 2.0-RC-1 Code> Pour essayer Jenkins 2.0 et la vue "Pipeline".
node {
def nodeHome = tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'
env.PATH = "${nodeHome}/bin:${env.PATH}"
sh 'npm install'
}
Chemin code>: p>
3 Réponses :
Pour moi, travaillez le code suivant:
node(){ def nodeHome = tool 'nodejs5' env.PATH="${env.PATH}:${nodeHome}/bin" ... sh 'npm install' }
Vous ne voulez pas encombrer d'autres entrées dans $ chemin code>.
Oui, désolé supprimer beaucoup de mon code, devez être: env.path = "$ {env.path}: $ {nodehome} / bin" code> sera mis à jour la réponse
tool 'node-5.10.1'
Merci! Étrange qu'il a commencé à travailler dès que cela a été déclaré? Je l'ai pris une étape plus loin en l'ajoutant au chemin local pour que je puisse simplement exécuter "noeud" plus tard dans le script - je vais mettre à jour ma question maintenant
Une bonne réponse, mais une question de suivi ... Comment pourrais-je inclure les forfaits NPM installés dans le monde dans le chemin?
Si quelqu'un arrive à traiter de ce problème sur Jenkins exécutant sur Windows forte>. Effectuez ce qui suit: def nodeHome = tool 'Node.js 6.9.5'
bat "\"${nodeHome}\"\\node.exe -v"
bat "\"${nodeHome}\"\\npm -v"