Как установить maven settings.xml с паролем в исходное управление

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

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

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

Всего 1 ответ


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

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

  2. Parametrize settings.xml с переменными env:

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

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


Есть идеи?

10000