Как я могу сделать groovy на маске Дженкинса Мой заводной код:
sh "sonar-scanner -Dsonar.host.url=http://sonarurl:9000 -Dsonar.login=squ_a1111"
Консоль Дженкинса:
sonar-scanner -Dsonar.host.url=http://sonarurl:9000 -Dsonar.login=squ_a1111
Когда я запускаю его, токен появляется в консоли, но я не хочу, чтобы он появлялся. Как я могу сделать маскировку?
Я хочу так, например:
sonar-scanner -Dsonar.host.url=http://sonarurl:9000 -Dsonar.login=******
Самый простой способ — использовать плагин Credentials Binding.
Там вы можете определить различные типы учетных данных, будь то один пароль («секретный текст»), файл или комбинация имени пользователя и пароля.
После определения вы можете использовать его следующим образом:
steps {
withCredentials([
string(credentialsId: "sonar-creds", variable: 'PWD_SONAR')
]) {
script {
sh "sonar-scanner -Dsonar.host.url=http://sonarurl:9000 -Dsonar.login=$PWD_SONAR"
}
}
}
Это сделает пароль доступным в данной переменной только внутри этого блока. Если вы попытаетесь напечатать пароль, он будет замаскирован.
Это тоже работает. Впоследствии я отредактировал свой ответ, чтобы использовать только строку вместо пары имя пользователя и пароль. Оба ответа верны :)
Я установил плагин Mask Passwords в Jenkins и использовал его следующим образом. Маскировка выполнена
def token = "squ_a1111"
wrap([$class: 'MaskPasswordsBuildWrapper', varPasswordPairs: [[password: token]]]) {
sh "sonar-scanner -Dsonar.host.url=http://sonarurl:9000 -Dsonar.login=${token}"
}
Спасибо за помощь, я пытался раньше, но это не сработало, и у меня нет имени пользователя и пароля, у меня есть только токен. Я решил проблему, установив плагин Mask Passwords. Я поставлю это как комментарий.