Я создаю изображение докеров для рабыни дженкинсов. Этому рабочему дженкинсу придется выталкивать артефакты в / из артефактов.
Это для проектов Java и maven. Поэтому мне нужно иметь в контейнере docker файл settings.xml, чтобы я мог проходить аутентификацию в нескольких частных хранилищах.
Моей идеей было бы скопировать файл settings.xml в файл Docker, но поскольку у него есть конфиденциальная информация (имя пользователя, пароль), меня беспокоит безопасность. Могу ли я зашифровать это содержимое в исходном элементе управления? И что более важно, могу ли я избежать того, чтобы люди просто загружали этот файл и могли использовать зашифрованные учетные данные? В идеале у меня должен быть механизм, чтобы убедиться, что зашифрованный файл работает только в контексте контейнера докера.
Всего 1 ответ
Насколько я понимаю, учетные данные для загрузки должны быть доступны только для подчиненных jenkins. Несколько вариантов здесь:
Создайте специальные settings.xml только для подчиненных jenkins. Доступ к рабочему дженкинсу запрещен для всех пользователей, кроме администратора, поэтому пароль будет безопасным. Каждый будет использовать другой параметр settings.xml с кредитами только для загрузки.
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 . Пользователи установят эти вары только для загрузки.