Jenkins как передать строку, которая будет использоваться в проекте?
Ситуация такая: в моем проекте (джава) для корректной работы программы необходимо использовать строку с паролем, содержащуюся в txt файле. Пароль, содержащийся в данной строке, является приватным, а потому файл хранится у меня локально, но его нет в репозитории на гитхабе, с которым интегрирован дженкинс. Вопрос следующий:
- Как, используя Jenkins, я могу передать эту строку, чтобы при сборке джобы она использовалась в проекте?
- Можно ли сделать эту строку секретной/невидимой в дженкинсе, чтобы она не отображалась в логах, консоли или где-то еще? Если вы ответите только на первую часть вопроса, я уже буду вам безмерно благодарен.
Ответы (1 шт):
В целом, т.к. сервер сборки обычно является общим, то какого-то 100% надежного способа скрыть приватные данные не существует.
Использовать пароль из файла не очень хорошая идея в любом случае. Но если такая задача всё же стоит, можно разместить файл на сервере сборки и огрничить права чтения только тем пользователем от имени которого запускается билд агент.
Лучше переписать код, который бы использовал переменные окружения либо системные свойства, вместо чтения значения из файла. Значения для паролей в таком случае можно было бы задавать, используя плагины вроде этого.