在阶段块中声明时,Jenkins不安装工具

时间:2019-08-16 17:20:17

标签: jenkins-pipeline

我正在尝试让Jenkins声明性管道安装基于OS的JDK。为此,我在第一步构建中运行了一个脚本。但是,它似乎没有安装工具或没有将其安装到路径中。

我尝试了不同的方法来实现这一目标,但是没有运气。我认为底层代码会起作用:

pipeline{
environment {
    // We assume Windows but switvh to Unix later if necessary
    JDK_OS = ' (Windows/x64)'
}
stages {
    stage ('Tools') {
        steps {
            script {
                if (isUnix()) {
                    JDK_OS = ' (Linux/x64)'
                }
            }               
        }
        tools {
            jdk 'JDK11.0.3' + env.JDK_OS
        }
 }

但是它抛出一个错误,即未设置JAVA_HOME,并且在我回显PATH时:“ / usr / local / bin:/ usr / bin”那里没有JAVA_HOME。

如果我在管道模块中设置了工具,它可以按预期工作,但是我不能在其中使用“脚本”模块在基于OS的JDK之间进行切换。

我希望工具块的工作方式与在管道块中声明的方式相同。如果不是,是否有区别说明?

如果您还有其他建议可以做到这一点

0 个答案:

没有答案