Как поместить maven settings.xml с паролем в систему контроля версий - PullRequest
0 голосов
/ 24 ноября 2018

Я создаю образ докера для раба Дженкинса.Этот подчиненный Дженкинс должен будет выдвигать и извлекать артефакты в / из хранилища артефактов.

Это для проектов Java и maven.Поэтому мне нужно иметь в моем док-контейнере файл settings.xml, чтобы я мог проходить аутентификацию в нескольких частных репозиториях.

Моя идея заключается в том, чтобы скопировать файл settings.xml в Dockerfile, но поскольку он содержит конфиденциальную информацию (имя пользователя, пароль), я беспокоюсь о безопасности.Могу ли я зашифровать этот контент в системе контроля версий?И что более важно, могу ли я избежать, чтобы люди просто загружали этот файл и могли использовать зашифрованные учетные данные?В идеале у меня должен быть механизм, позволяющий убедиться, что зашифрованный файл работает только в контексте контейнера докера.

1 Ответ

0 голосов
/ 24 ноября 2018

Как я понимаю, учетные данные для загрузки должны быть доступны только подчиненному jenkins.Несколько вариантов здесь:

  1. Создать специальный файл settings.xml только для рабов jenkins.Доступ к подчиненному jenkins запрещен для всех пользователей, кроме администратора, поэтому пароль будет в безопасности.Каждый будет использовать другой файл settings.xml с кредитами только для загрузки.

  2. Параметризация файла settings.xml с переменными env:

    <server>
       <id>repo</id>
       <username>${env.REPO_USER}</username>
       <password>${env.REPO_PASSWORD}</password>
     </server>
    

On jenkinsslave, REPO_USER / PASSWORD будет установлен с плагином учетных данных: https://support.cloudbees.com/hc/en-us/articles/203802500-Injecting-Secrets-into-Jenkins-Build-Jobs. Пользователи будут устанавливать эти переменные для кредитов только для загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...