在CI环境中执行Bower,例如Jenkins

时间:2013-07-31 08:36:33

标签: jenkins continuous-integration build-process bower

我的Jenkins正在使用CentOS 6node.js 0.10.15 bower 1.0.3投放。

我有一个执行以下任务的shell任务:

npm install
bower install
grunt clean package

建造时凉亭安装失败:

+ 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

当我以Jenkins用户身份登录时在终端中执行bower install时,它可以正常工作。其他提到的命令按预期工作(npmgrunt)。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您的执行环境似乎既没有$XDG_CONFIG_HOME也没有$HOME设置为环境变量。

您可以通过手动将其设置为当前工作区来解决此问题:

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