Какова процедура и каковы требования для отправки артефактов в центральный репозиторий maven?
Я полагаю, что нужен некоторый пропуск для отправки артефакта в центральный репозиторий Maven.
Я хотел бы знать, в деталях, каковы требования, какова процедура следовать, и если есть учебник или руководство, чтобы помочь в этом процессе.
Я слышал, что вам также нужно цифрово подписать (gpg) артефакты, некоторые детали относительно этого также будут приветствоваться.
2 ответов
если ваш код-OSS, есть процесс" быстрого отслеживания " для публикации через Sonatype.
Короткий Ответ:
посмотреть Sonatype OSS Maven руководство по использованию репозитория
Ответ:
в основном, вот что я сделал для бобовый стебель-maven-плагин некоторое время назад:
Я создал и зарегистрировал новый ключ GPG для моей электронной почты в серверах ключей HKP (без проблем). Убедиться у вас есть резервные копии ваших ключей (на самом деле, я предлагаю вам создать свой ключ на совершенно отдельной машине, чтобы вы могли знать, что ваши процедуры резервного копирования / экспорта работают)
открыл проблему в Sonatype OSS Project Jira Tracker, указывая groupId, исходный url SCM и другие детали. Для утверждения требуется около 48 часов.
настроил мой
pom.xml
использовать sonatype-parent pom в качестве родителя. Это добавляет много дополнительной информации и утверждение.настройка SCM для пометки / выпуска.
настроить Дженкинса так мой
-SNAPSHOT
релизы также будут опубликованы в oss.sonatype.org.
теперь сама процедура выпуска через Sonatype довольно проста:
- вызов
release:prepare
иrelease:perform
в постановку OSS. Ваш новый релиз войдет в Sonatype Staging - войдите в OSS Staging, затем "закройте" Staged Repository - если есть какие-либо ошибки проверки (например, артефакты без источников), он предупредит, и вы, вероятно, выдадите "падение".
- если все прошло хорошо, вы можете вместо этого вызвать "Release", и он будет синхронизироваться в центре через пару часов.
под капотом
если вы используете Maven, большинство изменений просто требуют украшения вашего POM с соответствующими деталями (группа, списки рассылки, Домашняя страница, и особенно <scm/>
). Этот sonatype-oss-parent
(увидеть его источник) pom выполняет всю оставшуюся работу, которая включает в себя:
- на
<distributionManagement/>
теги - на
maven-enforcer-plugin
конфигурация (в частности, чтобы избежать некоторых плохих подписей отmaven-gpg-plugin
) - параметры
maven-release-plugin
для специального профиля сборки, который будет вызываться при выпуске на OSS, который включает вызовы для:source:jar
javadoc:jar
gpg:sign
конечно, вы можете сделать все это вручную-просто скопируйте содержимое sonatype-oss-parent в свой собственный. Тем не менее, я думаю, что его немного можно избежать. :)
надеюсь, что это помогает.