Передать строковый параметр в декларативный скрипт Jenkins - PullRequest
0 голосов
/ 12 февраля 2020

Я объявляю строковый параметр в Jenkins -

Name is SLACKTOKEN 
Value is qwsaw2345

В моем файле Jenkins есть скрипт

pipeline {

    agent { label 'trial' }

    stages {
        stage("Build Docker Image") {
            steps{
                sh 'docker build -t trial:latest --build-arg SLACK_SIGNING_SECRET=${SLACKTOKEN}'
            }
        }


    }
}

Я пытался вот так, но он не работал. Не могли бы вы дать мне знать, как я могу передать значение из строкового параметра Jenkins в файл декларативного скрипта Jenkins. Я добавил параметр Password в работу, как показано ниже

enter image description here

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

В директиве parameters вы можете указать параметры, подробности здесь .

Для передачи параметра используйте params.SLACKTOKEN внутри двойных кавычек, а не в одинарных:

pipeline {

    agent { label 'trial' }
    parameters {
        password(name: 'SLACKTOKEN', defaultValue: '', description: 'Slack Token')
    }
    stages {
        stage("Build Docker Image") {
            steps{
                sh "docker build -t trial:latest --build-arg SLACK_SIGNING_SECRET=${params.SLACKTOKEN}"
            }
        }
    }
}
0 голосов
/ 12 февраля 2020

Где вы объявили свою переменную?

Есть много опций:

Пример: использовать раздел env из декларативного синтаксиса:

    pipeline {
        agent {
            label 'trial'
        }

        environment {
            SLACKTOKEN = 'qwsaw2345'
        }

        stages {
            stage('Build') {
                steps {
                    sh "docker build -t trial:latest --build-arg SLACK_SIGNING_SECRET=${SLACKTOKEN}"
                }
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...