Как скрыть пароль от Groovy TP Bash? - PullRequest
0 голосов
/ 13 февраля 2019
stages {
    stage('Get Clone ') {
        steps {
     sh """

               ./scripts/login_to_cf.sh  -user ${params.USERNAME} -password ${params.PASSWORD} -           
            """         

            }
        }
    }

Когда я вызываю скрипт, я вижу пароль.Как это может быть скрыто или защищено?

1 Ответ

0 голосов
/ 13 февраля 2019

Вы должны использовать Плагин привязки учетных данных Jenkins .Во-первых, вам нужно добавить учетные данные.Для этого перейдите в папку заданий Jenkins и нажмите Credentials на левой боковой панели.Затем нажмите (глобальный) домен учетных данных и нажмите Добавить учетные данные .Выберите Имя пользователя с паролем введите учетные данные и введите имя пользователя и пароль .

enter image description here

Вы можете оставить поле ID пустым - Jenkins сгенерирует UUID на месте, поэтому при его добавлении перейдите в Изменить представление учетных данных, чтобы можно было скопировать идентификатор учетных данных.

Теперь вы можете использовать это имя пользователя и пароль в заданиях Jenkins, расположенных в папке.В конвейере Jenkins вы используете шаг withCredentials() для ввода учетных данных.Взгляните на следующий примерный конвейер:

pipeline {
    agent any 

    stages {
        stage("Test") {
            steps {
                withCredentials([usernamePassword(credentialsId: '2480f22e-52b4-40df-a6f4-ab346769d694', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
                    sh "echo --help -u $USERNAME -p $PASSWORD"
                }
            }
        }
    }
}

В этом примере я ввожу учетные данные с ID 2480f22e-52b4-40df-a6f4-ab346769d694 и сохраняю имя пользователя в переменной USERNAME, а пароль в PASSWORD переменная.Преимущество использования withCredentials() заключается в том, что Jenkins позаботится о замене имени пользователя и пароля на **** в журнале консоли, чтобы ваш пароль не просочился в журнал консоли. (Это влияет только на журнал консоли, и команда, которую вы выполняете, получает правильные учетные данные.)

[Pipeline] node
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Test)
[Pipeline] withCredentials
[Pipeline] {
[Pipeline] sh
+ echo --help -u **** -p ****
--help -u **** -p ****
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Terminated
Finished: SUCCESS
...