1
我有以下sh
步骤执行对詹金斯管道某些命令,注意npm install
从package.json
用于安装凉亭后命令工作詹金斯管道SH步节点
sh """
. .env/bin/activate
. ${JENKINS_HOME}/nvm_init.sh
npm install
node --version
which node
echo $PATH
export PATH=\$(npm bin):$PATH
echo $PATH
which bower
which node
node --version
bower install
"""
输出从npm install
如下开始:
+ npm install
npm WARN [email protected] No repository field.
npm WARN [email protected] No license field.
+ node --version
v6.9.2
+ which node
/data/jenkins/.nvm/versions/node/v6.9.2/bin/node
+ echo /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
+ npm bin
+ export PATH=/data/jenkins/workspace/GoConnect_feature_jenkins2-KGJYBCCDJPBPOLJ2K2Q4JVQP6TKHIVKXYDJZ4WUMFHTSSDIZWCAQ/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
+ echo /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
+ which bower
/data/jenkins/workspace/GoConnect_feature_jenkins2-KGJYBCCDJPBPOLJ2K2Q4JVQP6TKHIVKXYDJZ4WUMFHTSSDIZWCAQ/node_modules/.bin/bower
+ which node
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
这里是一对夫妇的事情,我不明白:
- 通知第二
echo $PATH
,它具有相同的路径之前,并没有包含来自export PATH=\$(npm bin):$PATH
- 之前的前置最后
which node
没有工作,为什么?