2017-01-16 4 views
3

Я использую настройку ведущего/подчиненного Jenkins. Я бы хотел, чтобы у Дженкинса был один «источник» информации для учетных данных. Не ключи и пароли разбросаны по всему месту.Выпуск Maven с подчиненными jenkins и учетные данные: как передать учетные данные SCM на maven?

Итак, я не хочу определять свой SCM в Jenkins (с учетными данными от поставщика учетных данных Jenkins), а затем снова в pom.xml/settings.xml/id_rsa.pem в зависимости от задания. Каждый любит делать свой собственный способ делать вещи, и мы заканчиваем копиями ключевого файла или паролей повсюду. Рано или поздно кто-то подталкивает pom к публичному репо, и наш сервер скомпрометирован ...

Я не вижу удобного способа получить учетные данные из Дженкинса в куда-нибудь, где плагин релиза maven может использовать их. Что мне не хватает? (релиз Maven терпит неудачу при попытке раздвинуть теги мерзавец

[ERROR] The git-push command failed. 
[ERROR] Command output: 
[ERROR] Permission denied (publickey). 

)

я мог бы, очевидно, определить «файл», который получает установлен на ведоме, который содержит П (я могу назвать несколько способов для этого), но затем у меня есть головная боль обслуживания, когда мы вращаем ключи, чтобы помнить, что они находятся в нескольких местах. В противном случае моментальные снимки будут работать в течение месяца, а затем выпуск не удастся, и никто не сможет понять, почему mvn внезапно не может нажать на git.

(только NB это ключ Логин, никаких паролей)

+0

Если вы используете git, вы не можете использовать SSH-ключи? –

+0

Да, я использую ключи ssh. Но как получить файлы .pem из «Учетных данных» и на ведомость сборки? –

+0

Ваш ответ, конечно, я хотел сказать. :) :) –

ответ

5

все утро, пытаясь понять это, то обнаружить «SSH Agent» окошки в разделе «Build среды». Отметьте его и дайте правильные учетные данные, и он работает. Я рассмотрел вопрос, но, прочитав множество других рекомендаций по техническому обслуживанию (включая копии файла .pem), я решил оставить его.

+2

Для тех, кто не видит агента SSH, вам просто нужно установить плагин https://plugins.jenkins.io/ssh-agent. Благодаря этому ответу mvn release работает, пока мы говорим, и тэг был успешно выполнен. –

-3

Я удивлен, что у нас нет хорошего ответа. Плагин ssh-agent (https://wiki.jenkins-ci.org/display/JENKINS/SSH+Agent+Plugin) действительно предлагает решение для использования ключей ssh ​​для push-обновлений в плагине maven. Он также будет охватывать любые другие варианты использования, в которых необходима аутентификация ключа ssh.

+0

Я удивлен, что вы не видели принятого автоответчика, который уже упоминает об этом. –

Смежные вопросы