Внедрение переменной из jenkins в конвейер jenkins - PullRequest
0 голосов
/ 31 января 2020

Я использую опцию параметра пароля в задании конвейера jenkins, где я сохраняю пароль, и мне нужно ввести его в среду файла jenkins

enter image description here

Вот часть файла jenkins, где я пытаюсь внедрить это PASS

pipeline {
     agent any
      environment {
        USER= 'abcd'
        PW= '${params.PASS}'
    }
    stages {
        stage('staring tests') {     

Когда я пытаюсь отобразить $ PW, он просто повторяет $ {params.PASS}.

Будут оценены любые указатели !!

Ответы [ 2 ]

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

Вы не должны помещать значение 'params' в переменную окружения. Это не сработает для вас. Разделы окружения инициализируют только строковые переменные, поэтому он инициализирует ваш PW чистой строкой $ {params.PASS}, так как он не выполняет «вычисления» для него. Вместо этого в вашем конвейере просто используйте params.PASS прямо в вашем коде.

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

In Groovy Строки - это одинарные кавычки. Их нельзя интерполировать с переменными. Вам нужно будет объединить строки и значения. т.е. PW='pass' + myVar

GS Строки - это двойные кавычки. http://docs.groovy-lang.org/latest/html/api/groovy/lang/GString.html

Поэтому вам нужно изменить его на PW="${params.PASS}", и это будет интерполировать переменную в строку.

Однако, поскольку вы не выполняете никакой интерполяции в В этом примере вам также не нужно использовать GStrings. Где бы вам ни понадобился доступ к этому значению, просто позвоните ему напрямую echo params.PASS

...