2016-12-14 2 views
1

Я следующий sh шаг, чтобы выполнить некоторые команды на Дженкинс трубопровода, обратите внимание, что npm install устанавливает беседку из package.json для последующего использования команд для работыДженкинс трубопровод ш шаг узел не найден

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 

Вот несколько вещей, которые я не понимаю:

  1. Обратите внимание на второй echo $PATH, он имеет тот же путь, как и ранее, и не содержит предыдущую PREPEND от export PATH=\$(npm bin):$PATH
  2. Последнее which node не работает, почему?

ответ

2

Спасибо коллеге @ john-carter, указав, что, не выходя из знака доллара, groovy будет оценивать перед выполнением скрипта.

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 
""" 
Смежные вопросы