2013-07-31 27 views
5

My Jenkins działa pod numerem CentOS 6 z node.js 0.10.15 i bower 1.0.3.Wykonywanie altan w środowisku CI, na przykład Jenkins

mam zadanie powłoki, które wykonuje następujące czynności:

npm install 
bower install 
grunt clean package 

Instalacja altana zawodzi, gdy budynek:

+ bower install 

path.js:360 
     throw new TypeError('Arguments to path.join must be strings'); 
      ^
TypeError: Arguments to path.join must be strings 
    at path.js:360:15 
    at Array.filter (native) 
    at Object.exports.join (path.js:358:36) 
    at Object.<anonymous> (/usr/lib/node_modules/bower/node_modules/ 
          update-notifier/node_modules/configstore/configstore.js:9:7) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 

Build step 'Execute shell' marked build as failure 

Kiedy jestem wykonywanie bower install w chwilę terminala zalogowany jako Jenkins użytkownik, działa. Pozostałe polecenia działają zgodnie z oczekiwaniami (npm, grunt).

Wszelkie pomysły?

Odpowiedz

4

Wygląda na to, że środowisko wykonawcze nie ma wartości $XDG_CONFIG_HOME ani $HOME jako zmiennych środowiskowych.

Można to obejść poprzez ręczne ustawienie go na przykład do bieżącej przestrzeni roboczej:

export XDG_CONFIG_HOME="$WORKSPACE/.config" 
... 
bower install 
+1

Dziękuję, setted zmienną środowiskową domu w Jenkins i działa teraz. Tutaj link do tego problemu na Github: https://github.com/yeoman/configstore/pull/7 – Sebastien