我正在使用Jenkins管道,但是自上次更新以来,它在tools
期间失败,并显示:“错误:名为12.5.0的jenkins.plugins.nodejs.tools.NodeJSInstallation”。
这是针对Jenkins 2.183和NodeJS-Plugin 1.33
// When using a constant string, it works.
pipeline {
agent any
environment {
NODEJS_VERSION = readFile '.nvmrc'
}
tools {
nodejs "12.5.0"
}
...
}
// When using a variable as the nodejs name, it fails.
// "ERROR: No jenkins.plugins.nodejs.tools.NodeJSInstallation named 12.5.0"
pipeline {
agent any
environment {
NODEJS_VERSION = readFile '.nvmrc'
}
tools {
nodejs env.NODEJS_VERSION
}
...
}
我希望使用变量时,其作用与使用常量字符串时相同。另外,似乎可以识别变量名(如错误所示)。
答案 0 :(得分:0)
问题是.nvmrc
有一个额外的换行符
12.5.0
将Jenkinsfile替换为以下代码即可解决问题。
pipeline {
agent any
environment {
NODEJS_VERSION = "${readFile '.nvmrc'}".trim()
}
tools {
nodejs env.NODEJS_VERSION
}
...
}