Какова процедура и каковы требования для отправки артефактов в центральный репозиторий 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 в свой собственный. Тем не менее, я думаю, что его немного можно избежать. :)
надеюсь, что это помогает.
