How to Set Up a Private Maven Repository in Amazon S3

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Amazon S3 - идеальное место для хранения личных артефактов Maven. Я предполагаю, что вы храните общедоступные артефакты в Maven Central, так как хотите, чтобы они были доступны всем. Личные артефакты - это те, которые вы не хотите видеть никому, кроме членов вашей команды. Таким образом, вы хотите развернуть свои файлы .jar там и убедиться, что они видны только вашей команде. Вот как мы делаем это во всех наших Java проектах.

Сначала создайте новое ведро S3. Я рекомендую вам назвать его, используя домен вашего проекта и префикс. Например, с repo.teamed.io, repo - это префикс, а teamed.io - домен.

Для этого ведра нет необходимости настраивать какие-либо разрешения. Просто создайте его через консоль Amazon S3.

Создайте нового пользователя IAM. Я рекомендую называть его teamed-maven, если имя вашего проекта teamed.

Добавьте новую “встроенную политику” для пользователя:

Здесь repo.teamed.io - это имя S3-корзины, которую вы создали минуту назад.

Убедитесь, что у вас есть «ключ доступа» для этого нового пользователя. Он должен выглядеть примерно так:

Ключ состоит из 20 символов (все в верхнем регистре), а секрет состоит из 40 символов.

Добавьте эту конфигурацию в ваш файл ~/.m2/settings.xml:

Configure pom.xml

Добавьте эту конфигурацию в pom.xml:

Затем настройте S3 Wagon, также в pom.xml:

Вы готовы к работе. Вы можете развернуть свои артефакты, просто запустив Maven из командной строки.

Configure s3auth.com

Теперь вы хотите увидеть эти артефакты в вашем браузере в защищенном режиме, предоставив безопасные учетные данные. Рекомендую вам использовать s3auth.com, как объяснено в Basic HTTP Auth для S3 Buckets.

Еще одно рекомендуемое действие - настроить rultor.com для автоматического развертывания ваших артефактов в S3.

Во-первых, зашифруйте ваш settings.xml с помощью этого удаленного Rultor:

Вместо me/test вы должны использовать название вашего проекта на GitHub.

Как результат, вы получите новый файл с названием settings.xml.asc. Добавьте его в корневую директорию вашего проекта, затем зафиксируйте и отправьте изменения. Файл содержит вашу секретную информацию, но только сервер Rultor может расшифровать ее.

Создайте файл .rultor.yml в корневой директории вашего проекта (формат этого файла подробно описан на странице справки Rultor).

Теперь пришло время увидеть, как все это работает вместе. Создайте новый тикет в системе отслеживания проблем GitHub и опубликуйте что-то вроде этого в него (подробнее о командах Rultor).

Вы получите ответ в течение нескольких секунд. Остальное сделает Rultor.

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-28 at 14:34

sixnines availability badge   GitHub stars