Какова процедура и каковы требования для отправки артефактов в центральный репозиторий maven?

Я полагаю, что нужен некоторый пропуск для отправки артефакта в центральный репозиторий Maven.

Я хотел бы знать, в деталях, каковы требования, какова процедура следовать, и если есть учебник или руководство, чтобы помочь в этом процессе.

Я слышал, что вам также нужно цифрово подписать (gpg) артефакты, некоторые детали относительно этого также будут приветствоваться.

2 ответов


если ваш код-OSS, есть процесс" быстрого отслеживания " для публикации через Sonatype.

Короткий Ответ:

посмотреть Sonatype OSS Maven руководство по использованию репозитория

Ответ:

в основном, вот что я сделал для бобовый стебель-maven-плагин некоторое время назад:

  1. Я создал и зарегистрировал новый ключ GPG для моей электронной почты в серверах ключей HKP (без проблем). Убедиться у вас есть резервные копии ваших ключей (на самом деле, я предлагаю вам создать свой ключ на совершенно отдельной машине, чтобы вы могли знать, что ваши процедуры резервного копирования / экспорта работают)

  2. открыл проблему в Sonatype OSS Project Jira Tracker, указывая groupId, исходный url SCM и другие детали. Для утверждения требуется около 48 часов.

  3. настроил мой pom.xml использовать sonatype-parent pom в качестве родителя. Это добавляет много дополнительной информации и утверждение.

  4. настройка SCM для пометки / выпуска.

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

надеюсь, что это помогает.


Ну, вы можете прочитать полное пошаговое подробное руководство о том, как загружать пакеты на Maven Central Repo(S) здесь.

кроме того, вы можете прочитать о репозиториях здесь