如何在 Jenkinsfile 的 pieline.agent.node 块中使用构建参数?

How to use build parameters in the pieline.agent.node block of a Jenkinsfile?

我正在为 PHP 项目开发 Jenkins 管道。因为我想 运行 项目根目录中的大部分步骤,所以我设置了 customWorkspace:

pipeline {
    agent {
        node {
            label 'devvm-slave-01'
            customWorkspace '/path/to/my/project'
        }
    }
    stages {
        stage('build') {
            steps {
                sh 'pwd'
                ...
            }
        }
    }
}

工作正常,但我不喜欢 Jenkinsfile.

中的路径硬编码

所以我尝试使用参数来解决这个问题:

问题是:我还没有找到访问块 pipeline.agent.node 中参数的方法。我可以在 pipeline.stages.stage.steps 部分阅读和处理它们。但不在 node 块中。

是否可以/如何在Jenkinsfilenode部分访问Jenkins项目参数?

您可以像这样为 customWorkspace 传递参数而不是硬编码值:

pipeline {
    agent {
        node {
            label 'devvm-slave-01'
            customWorkspace PROJECT_ROOT
        }
    }
    stages {
        stage('build') {
            steps {
                sh 'pwd'
                ...
            }
        }
    }
}