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

问题描述 投票:1回答:1

我正在为PHP项目开发Jenkins管道。由于我想从项目的根目录运行大多数步骤,因此我设置了customWorkspace

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

工作正常,但我不喜欢该路径在Jenkinsfile中进行了硬编码。

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

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9sMHNudS5wbmcifQ==” alt =“在此处输入图像描述”>

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

是否可能/如何在nodeJenkinsfile部分中访问Jenkins项目参数?

jenkins parameters jenkins-pipeline parameter-passing jenkins-2
1个回答
0
投票

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

pipeline {
    agent {
        node {
            label 'devvm-slave-01'
            customWorkspace PROJECT_ROOT
        }
    }
    stages {
        stage('build') {
            steps {
                sh 'pwd'
                ...
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.