Как замаскировать специальные (непараметрические) пароли в Дженкинсе - PullRequest
0 голосов
/ 27 сентября 2018

Я получаю пароли от Ansible как часть конвейера Jenkins, а затем хочу замаскировать эти пароли в сценариях оболочки, запущенных из Jenkins.

Сложность состоит в том, что эти пароли не являются параметрами конвейера или учетными данными Jenkins.

Я вижу, что плагин mask passwords позволяет маскировать регулярные выражения при предопределениив Управление Дженкинс.Здесь я хочу определить регулярное выражение (или буквенную строку) для программной маскировки.

Мне бы хотелось получить что-то вроде этого:

def password = getPasswordFromAnsible()
maskPassword(password)
sh "applogin -u ${username} -p ${password}"

Этот скрипт sh долженсгенерируйте в журнале консоли следующее:

sh "applogin -u my_username -p ******"

1 Ответ

0 голосов
/ 27 сентября 2018

Один из вариантов - отключить отображение команд перед выполнением этой конкретной чувствительной команды и следовать логике, используя вместо этого описательный текст:

sh '''
    echo "Attempting to login"
    set +x
    applogin -u ${username} -p ${password}
    set -x 
    echo "Logged in successfully"
'''
...