Использование withEnv в декларативном конвейере - PullRequest
1 голос
/ 17 февраля 2020

Я пытаюсь запустить команду docker в моем декларативном конвейере, чтобы установить docker env на мою подчиненную машину. Я пытаюсь использовать docker плагин для общих ресурсов "https://plugins.jenkins.io/docker-commons/" , но безуспешно.

Дальнейшие исследования я получил ниже по ссылке, в которой упоминается, как использовать этот плагин.

https://automatingguy.com/2017/11/06/jenkins-pipelines-simple-delivery-flow/

Я настроил docker в управлении jenkins -> глобальная конфигурация инструмента, но я не могу найти, как использовать приведенный ниже раздел в моем декларативном конвейере jenkins, я думаю, что ниже структура / синтаксис будет работать для скриптового конвейера jenkins

def dockerTool = tool name: 'docker', type: 
'org.jenkinsci.plugins.docker.commons.tools.DockerTool'
withEnv(["DOCKER=${dockerTool}/bin"]) {
   stages{}
}

Может кто-нибудь, пожалуйста помогите, как я могу использовать docker общий инструмент в декларативном конвейере jenkins. Примечание: я не могу переключиться на конвейер по сценарию из-за стандартизации с другими проектами

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

У меня такое чувство, что вам не нужно использовать withEnv или docker commons. Вы видели это? https://www.jenkins.io/doc/book/pipeline/docker/ Существует множество хороших примеров использования docker с Jenkinsfile.

Моя попытка ответить на ваш вопрос (если я правильно понял), если вы спрашиваете о декларативный эквивалент для сценария withEnv, то, вероятно, вы ищете environment {}? Примерно так:

pipeline {
    agent any

    environment {
        DOCKER = "${dockerTool}/bin"
    }

    stages {
        stage('One') {
            steps {
              // steps here
            }
        }
    }
} 
0 голосов
/ 17 февраля 2020

Вот рабочий пример

pipeline{
    agent any
    stages{
        stage('test') {
            steps{
                script{
                    test_env="this is test env"
                    withEnv(["myEnv=${test_env}"]){
                        echo "${env.myEnv}"
                    }
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...