10
votes

Installation de nœud sur Jenkins 2.0 à l'aide du plug-in Pipeline

Je cours l'image Docker suivante Jenkinsci / Jenkins: 2.0-RC-1 Code> Pour essayer Jenkins 2.0 et la vue "Pipeline".

Je ne peux pas sembler installer le nœud . Voici mon script de pipeline: p> xxx pré>

la réponse lorsque cela s'exécute est le suivant: P>

node { 
    def nodeHome = tool name: 'node-5.10.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'
    env.PATH = "${nodeHome}/bin:${env.PATH}"
    sh 'npm install'
}
  • 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>

     Entrez la description de l'image ici p>

    Mise à jour: p>

    Bâtiment sur la réponse de Jesse Glick ci-dessous, j'ai ajouté le résultat à mes scripts Chemin code>: p> xxx pré> p>


0 commentaires

3 Réponses :


7
votes

Pour moi, travaillez le code suivant:

node(){
  def nodeHome = tool 'nodejs5'
  env.PATH="${env.PATH}:${nodeHome}/bin"
  ...
  sh 'npm install'
}


2 commentaires

Vous ne voulez pas encombrer d'autres entrées dans $ chemin .


Oui, désolé supprimer beaucoup de mon code, devez être: env.path = "$ {env.path}: $ {nodehome} / bin" sera mis à jour la réponse



22
votes

tool 'node-5.10.1'


2 commentaires

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?



1
votes

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"


0 commentaires