Jenkins Pipeline - 动态切换节点版本

Jenkins Pipeline - Switch node version dynamically

有没有办法在 Jenkins Pipeline 中动态设置 NodeJS 版本。我无法在管道内提供可用的 nvm。

sh 'export NVM_DIR=~/.nvm'
sh 'source ~/.nvm/nvm.sh

script.sh: line 2: nvm: command not found

None 这有帮助。使用管道的多个团队需要特定版本的 nodeJS。在早期的非管道作业中,这曾经使用 nvm 工作。

您可以创建 choice parameter and use it in tools 声明。

pipeline {
    agent any
    parameters { 
        choice(name: 'NODE_VERSION', choices: ['NodeJS 9.6.1', 'NodeJS 7.7.0'], description: '') 
    }

    tools {
        nodejs params.NODE_VERSION
    }

    stages{
       stage("Run"){
            steps{
                sh 'node --version'
            }
        }
   }
}