Где Jenkins хранит учетные данные SVN - PullRequest
5 голосов
/ 02 февраля 2012

Начал играться с Дженкинсом. Создано новое задание и введен URL репозитория SVN. Прессованные сборки и Дженкинс успешно проверили мой репозиторий. Мой репозиторий не имеет анонимного доступа. Понятия не имею, как Дженкинс смог проверить хранилище.

Работает в Windows XP + Tomcat6 + файл войны Jenkins.

Возможно, Дженкинсу удалось прочитать пароль из системных свойств? Прямо сейчас пытаюсь найти этот файл конфигурации, где хранятся пароли или настройки

UPDATE

Не уверен, но, похоже, Дженкинс прочитал учетные данные SVN из кэша svn черепах. Когда я очистил кеш, я больше не могу получить доступ к хранилищу из Jenkins

Ответы [ 5 ]

11 голосов
/ 02 февраля 2012

Действительно, он берется из кеша Subversion. По крайней мере, сейчас я знаю, что сохранять пароли * не очень хорошая идея

Subversion будет искать в файле $HOME/.subversion учетные данные, но также хранит пароль для каждого задания в файле с именем subversion.credentials.

Обычно ваша машина Jenkins недоступна простым смертным, и вы можете создать каталог Jenkins $HOME, принадлежащий другому пользователю. Таким образом, вы можете использовать функции безопасности вашей ОС, чтобы люди не могли заглянуть в ваши учетные данные Jenkins.

Другая возможность - сделать пользователя извлечения Subversion для Jenkins доступным только для чтения. Это позволит Дженкинсу проверить код, но если кто-то захватит учетную запись Jenkins Subversion, он не сможет вносить изменения.

Если вы также используете Jenkins для тегирования своих сборок Subversion, вы можете использовать ловушка для предварительной фиксации , чтобы позволить Jenkins создать тег, но не иметь возможности делать что-либо еще.

Это должно облегчить ваши проблемы безопасности. Если вы подумаете об этом, Дженкинс должен иметь возможность хранить свою учетную запись и пароль Subversion, иначе он не сможет автоматически извлекать код для сборки.

4 голосов
/ 29 января 2015

credentials.xml, по умолчанию он находится в ~ / .jenkins /

1 голос
/ 02 февраля 2012

Действительно, он берёт его из кеша Subversion.По крайней мере, сейчас я знаю, что сохранять пароли * не очень хорошая идея

0 голосов
/ 17 марта 2016

Jenkins сохраняет учетные данные svn в .jenkins / hudson.scm.SubversionSCM.xml, удаляет старые записи userName и password, сохраняет записи пустыми и сохраняет файл. Позже перезапустите jenkins и перейдите к настройке задания и URL репозитория, Jenkins предложит ввести новые учетные данные svn. -Praveen

0 голосов
/ 04 августа 2015

Я нашел самый простой способ обновить пароль.

Обычно это защищенное http-соединение, я имею в виду https. просто измените его на http, и сразу же Jenkins предложит вам обновить данные SVN, где вы можете обновить учетные данные и URL. enter image description here

...