如何将 jenkins 管道与 nvm 包装器插件一起使用?

pio*_*rek 4 node.js jenkins jenkins-plugins jenkins-pipeline

我正在使用管道 ( Jenkinsfile),我需要更改节点版本。我添加了 Nvm Wrapper Plugin 但我不知道如何正确使用它Jenkinsfile

我应该添加nvm('...') {}内部steps吗?或者它应该在node步骤中的某个顶级位置?目前我什至没有node步骤 - 一切都是使用sh

pio*_*rek 5

什么对我有用:

pipeline {
  agent any

  stages {
    stage("Build") {
      steps {
         nvm(nvmInstallURL: 'https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh', 
             nvmIoJsOrgMirror: 'https://iojs.org/dist',
             nvmNodeJsOrgMirror: 'https://nodejs.org/dist', 
             version: '8.1.2') {
                    sh "npm install"
                    echo "Build main site distribution"
                    sh "npm run build:dist"
              }
           }
        }
    ...
Run Code Online (Sandbox Code Playgroud)


小智 5

这对我有用

sh 'bash -l -c ". $HOME/.nvm/nvm.sh ; nvm use <version> || nvm install <version> && nvm use <version> "' 
Run Code Online (Sandbox Code Playgroud)

例子:

sh 'bash -l -c ". $HOME/.nvm/nvm.sh ; nvm use 8.0 || nvm install 8.0 && nvm use 8.0 "' 
Run Code Online (Sandbox Code Playgroud)