Как использовать параметры сборки в блоке pieline.agent.node файла Jenkinsfile? - PullRequest
1 голос
/ 11 апреля 2020

Я разрабатываю конвейер Jenkins для проекта PHP. Поскольку я хочу выполнить большинство шагов из каталога проекта root, я установил customWorkspace:

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

Он работает нормально, но мне не нравится, что путь трудный -кодированный в Jenkinsfile.

Поэтому я попытался решить эту проблему с помощью параметров:

enter image description here

Проблема в том, что я не нашел способ для доступа к параметрам в блоке pipeline.agent.node. Я могу читать и обрабатывать их в pipeline.stages.stage.steps разделах. Но не в блоке node.

Возможно ли это / Как получить доступ к параметрам проекта Jenkins в разделе node Jenkinsfile?

1 Ответ

2 голосов
/ 13 апреля 2020

Вы можете передать параметр вместо жестко заданного значения для customWorkspace следующим образом:

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