2014-12-26 52 views
10

Sto configurando un server ubuntu con Jenkins per CI.Errore di generazione di Jenkin su npm

Quando provo ad eseguire una build ho mancato

Domanda: Come posso fare npm install lavoro dal mio lavoro Jenkins?

accumulo 1:

[morningharwood] $ /bin/sh -xe /tmp/hudson8925730298288495807.sh 
+ pwd 
/var/lib/jenkins/workspace/morningharwood 
+ ls 
bower.json 
client 
e2e 
Gruntfile.js 
karma.conf.js 
package.json 
protractor.conf.js 
server 
+ npm install 
/tmp/hudson8925730298288495807.sh: 5: /tmp/hudson8925730298288495807.sh: npm: not found 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

Jenkin costruire enter image description here

UPDATE:

~$ pwd 
/home/ubuntu 

ls -a 


. .bash_history .bashrc .config .gem .gnupg .node-gyp .nvm  .rbenv .ssh .viminfo 
.. .bash_logout .cache .dotfiles .gemrc .local .npm  .profile .rvm .vim 

Ora che vedo il .npm

+ /home/ubuntu/.npm/npm install 
/tmp/hudson1456103398115324880.sh: 5: /tmp/hudson1456103398115324880.sh: /home/ubuntu/.npm/npm: not found 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

script di configurazione:

enter image description here

Cosa succede quando si esegue dal terminale SSH?

npm WARN engine [email protected]: wanted: {"node":"~0.8 || ~0.10"} (current: {"node":"0.11.14","npm":"2.0.0"}) 
npm ERR! Linux 3.13.0-36-generic 
npm ERR! argv "/home/ubuntu/.nvm/v0.11.14/bin/node" "/home/ubuntu/.nvm/v0.11.14/bin/npm" "install" 
npm ERR! node v0.11.14 
npm ERR! npm v2.0.0 
npm ERR! path /var/lib/jenkins/workspace/morningharwood/node_modules 
npm ERR! code EACCES 
npm ERR! errno -13 

npm ERR! Error: EACCES, mkdir '/var/lib/jenkins/workspace/morningharwood/node_modules' 
... 

Così ho chown cartella:

+ pwd 
    /var/lib/jenkins/workspace/morningharwood 
    sudo chown ubuntu /var/lib/jenkins/workspace/morningharwood/ -Rv 
    ... 

Ran NPM installare dopo che NPM installare

ha avuto successo!

NUOVO PROBLEMA: Ora la mia build non riesce quando si tenta di clonare il repository da github tramite jenkins.

Console di registro

Started by user matthew harwood 
Building in workspace /var/lib/jenkins/workspace/morningharwood 
> git rev-parse --is-inside-work-tree # timeout=10 
Fetching changes from the remote Git repository 
> git config remote.origin.url [email protected]:matthewharwood/morningharwood.git # timeout=10 
ERROR: Error fetching remote repo 'origin' 
ERROR: Error fetching remote repo 'origin' 
Finished: FAILURE 

Visualizzazione proprietari:

ls -la 
drwxr-xr-x 3 jenkins jenkins 4096 Dec 26 20:31 . 
drwxr-xr-x 13 jenkins jenkins 4096 Dec 26 08:23 .. 
drwxr-xr-x 7 ubuntu jenkins 4096 Dec 26 20:59 morningharwood 

risposta

10

Ci sono diversi problemi qui.

Sembra che si stia utilizzando node 0,11. Perché? Hai bisogno di una funzione da quel ramo instabile?

In caso contrario, mi consiglia di utilizzare l'nodesource confezionato node moduli, come descritto qui: https://github.com/nodesource/distributions#usage-instructions

curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs

questo modo si ottiene una buona installazione di node e npm nel percorso globale, visibile ad entrambi l'utente ubuntu e l'utente jenkins.

Infine, /home/ubuntu/.npm/npm non è un eseguibile, ma è la versione memorizzata nella cache del pacchetto npm; /home/ubuntu/.npm è la cache di download di npm per utente.

+1

Hey amico, grazie mille per l'aiuto! L'ho bruciato e ricominciato. Sto ricreando il lavoro in questo momento. Aggiorneremo presto! –

+0

Ha funzionato alla grande! grazie mille! hey ho lo stesso problema ma con rubino ora lol sono orribile. http://stackoverflow.com/questions/27670407/set-up-ruby-globally-for-all-users-on-ubuntu –

+0

"Sembra che tu stia utilizzando il nodo 0.11. Perché?" che domanda. come può qualcuno avere una ragione specifica per usare 0,11. ti aspetti davvero una risposta? – eyurdakul

2

come si dice

/tmp/hudson8925730298288495807.sh: 5: /tmp/hudson8925730298288495807.sh: npm: not found 

npm non è disponibile nel percorso, in modo da cambiare il vostro lavoro a sp ecify percorso completo npm

per esempio

/usr/local/bin/npm install 

o dovunque npm si trova

+0

Ehi, ho aggiornato la mia risposta. Penso di aver individuato la corretta cartella npm ma sto ancora ricevendo l'errore. potresti per favore rivedere? –

+0

potresti pubblicare la configurazione aggiornata e cosa succede quando esegui lo stesso comando dallo stesso utente da chi sta funzionando jenkins –

+0

Ho aggiornato la risposta. Inoltre è sceso un altro percorso> _

Problemi correlati