Экосистема Maven – это часть жизни каждого разработчика Java. Не имеет значения, используете ли вы Maven или Gradle, Kotlin или Scala (и т.д.) , обмен артефактами осуществляется по одному и тому же протоколу – Maven protocol ✨ .
Мы можем публиковать наши публичные проекты в официальном центральном репозитории Maven, но в случае частных проектов в течение такого долгого времени мы могли использовать только:
Эти мощные проекты являются отличным решением для крупных компаний, но на самом деле они плохо работают для любительских проектов и сред, ориентированных на простоту и сокращение использования ресурсов из-за ограниченного бюджета.
Вот почему я создал Reposilite , облегченный менеджер репозиториев с открытым исходным кодом для артефактов Maven. Это простое решение для замены таких менеджеров, как Nexus, Archiva или Artifactory.
Плюсы:
- Эффективно сократите использование ваших ресурсов даже до 10 МБ оперативной памяти вместо, например, 2 ГБ
- Чрезвычайно прост в использовании
- Одобрен и указан на сайте Apache
- Открытый исходный код ❤️
Аферы:
- Возможно, вам не хватает дополнительных функций, но вы всегда можете запросить их в разделе issues
- Ориентированные на производительность, некоторые из тяжелых функций могут вообще не быть реализованы
Устанавливать
Примечание: Проект меняется динамически, поэтому некоторые части этой статьи, например скриншоты, могут устареть.
В данный момент (Reposilite 2.6.1) вы можете использовать автономную jar-версию Reposilite или Docker Image 🐳 . Если вы ищете всегда актуальное руководство по установке, посетите:
В этой статье мы сосредоточимся на автономной версии, которую можно загрузить со страницы релизов GitHub:
Чтобы запустить репозиторий, просто запустите архив jar:
$ java -Xmx16M -jar reposilite.jar
Вуаля, это почти все, вы только что стали владельцем нового репозитория Maven менее чем за 1 минуту ฅ ^ •• * ^ฅ Вы должны увидеть результат на локальный хост:80 :
Это было быстро, так что давайте сделаем что-нибудь еще. Начиная с версии 2.x, вместо сложной системы, основанной на разрешениях между пользователями и проектами, Reposilite использует систему токенов доступа для авторизации запросов. Чтобы полностью понять токены доступа, посетите:
Прежде всего, нам нужно сообщить Maven, куда мы хотим загрузить наш проект. Для этой цели вы должны объявить свойство управления распространением в вашем pom.xml
:
local-repository http://localhost:80/releases
Чтобы сгенерировать токен доступа для администратора, нам нужно использовать команду keygen
в Reposilite CLI:
$ keygen / admin | Generated new access token for admin(/) | AW7-kaXSSXTRVL_Ip9v7ruIiqe56gh96o1XdSrqZCyTX2vUsrZU3roVOfF-YYF-y | Stored tokens: 1
Разделитель /
означает, что запросы, подписанные этим токеном, могут обращаться ко всем путям, например:
Уполномоченный | / |
Уполномоченный | /выпуски |
Уполномоченный | /моментальные снимки |
Уполномоченный | /релизы/наш/потрясающий/проект |
Теперь вам нужно добавить новую запись сервера с сгенерированным токеном в свой ~/.m2/settings.xml файл:
local-repository admin AW7-kaXSSXTRVL_Ip9v7ruIiqe56gh96o1XdSrqZCyTX2vUsrZU3roVOfF-YYF-y
Чтобы опубликовать свой артефакт, просто запустите:
$ mvn deploy
Если вы все настроили правильно, вы сможете увидеть новую версию вашего артефакта в браузере репозитория! 🎉
Чтобы открыть для себя дополнительные функции Reposilite, такие как панель мониторинга или удаленный интерфейс:
Посетите Repository – Guide и GitHub – Repository .
Удачи и счастливого развертывания 🚀 , дзикойск
Оригинал: “https://dev.to/dzikoysk/publishing-your-artifacts-to-the-reposilite-a-new-self-hosted-repository-manager-3n0h”