Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Mask Password Jenkins plugin - вопрос по использованию

plugin
jenkins
java
Теги: #<Tag:0x00007f7b61954780> #<Tag:0x00007f7b61954640> #<Tag:0x00007f7b61954500>

(Kosmos) #1

Дд всем.

Понадобилось использовать https://wiki.jenkins-ci.org/display/JENKINS/Mask+Passwords+Plugin в проекте. Использую совместно с Maven. Пока что не до конца ясно, как им пользоваться.

  1. Завел переменную в виде ключ=значение
  2. В коде использую:
 System.out.println("Value of 'passwd' = '" + System.getProperty("passwd") + "'");

получаю:

Value of 'passwd' = 'null'

Чего не хватает?


(Сергей Кузьмин) #2

я когда-то вместо Mask+Passwords+Plugin исп. EnvInject+Plugin


(Sergey Korol) #3

А для каких целей вам понадобился этот плагин?
Чем стандартный Password parameter не устроил? Особенно если вы его нигде на уровне дожобы не используете, а обращаетесь напрямую из кода.

П.С. Environment variable != System property. Для получения значений дженкинс параметров, нужно вызывать System.getenv.


(Kosmos) #4

Вроде как Password parameter не скрывает пароль в логах Jenkins’a. Плюс нельзя создать тестового пользователя, только реального с реальным паролем.

Это с Mast Password Plugin:

Без - вместо *** выводит введенный пароль.


(Sergey Korol) #5

О каких логах речь? О консоли? А зачем вам в консоль его печатать вообще, если использоваться он будет лишь в java code? На уровне кода то вы реальный пароль используете, а не замаскированный. Кто захочет, тот в дебаге все равно его увидит за пределами дженкинса.

Еще не совсем понял о тестовых пользователях… Это всего лишь параметр. Он никак не связан с пользователями в принципе. Заносите туда что угодно, используйте как угодно.

При следующем варианте конечно же он выведет в лог содержимое пароля. Но опять-таки, зачем это делать? Смысл выводить пароль, который не должен быть никому доступен, в консоль? И какая практическая польза от такого же замаскированного пароля в консоли? Типа: смотрите все, как круто я умею выводить звездочки? :slight_smile: Если пароль нужен степам, то вы все равно его увидите в репорте в незамаскированном виде. Если для каких-то внутренних целей, то и печатать его на экран нет никакого смысла.

Если же ничего никуда не выводить, то в переменных окружения пароль окажется замаскированным.


(Kosmos) #6

Необходим был как раз для отчетов. Т.к. отчеты видели несколько людей, необходимо было скрыть пароли от посторонних. На уровне дебага к нему никто, кроме разработчиков теста не имел доступа, поэтому тут все ок.
В общем - главное скрыть пароль из отчетов :slight_smile: