2012-12-31 14 views
6

Przypuszczam, że trzeba trochę przepustki, aby przesłać artefakt do centralnego repozytorium Maven.Jaka jest procedura i jakie są wymagania dotyczące przesyłania artefaktów do centralnego repozytorium?

Chciałbym wiedzieć szczegółowo, jakie są wymagania, jaka procedura powinna zostać zastosowana oraz czy istnieje samouczek lub przewodnik pomagający w tym procesie.

Słyszałem, że trzeba również cyfrowo podpisywać (gpg) artefakty, niektóre szczegóły dotyczące tego będą również mile widziane.

Odpowiedz

4

Jeśli kod jest OSS, jest to proces „fast track” za opublikowanie przez Sonatype.

Krótka odpowiedź:

Zobacz Sonatype OSS Maven Repository Usage Guide

Długa odpowiedź:

Zasadniczo, oto co zrobiłem dla beanstalk-maven-plugin jakiś czas temu:

  1. Mam wygenerowany i zarejestrowałem nowy klucz GPG dla mojego e-maila w HKP Keyservers (bez myślenia). Upewnij się, że masz kopie zapasowe kluczy (w rzeczywistości sugeruję utworzenie klucza w całkowicie oddzielnym urządzeniu, abyś wiedział, że działają procedury tworzenia kopii zapasowych/eksportowania)

  2. Otwarty problem w projekcie Sonatype OSS Jira Tracker wskazuje identyfikator groupId, źródłowy URL SCM i inne szczegóły. Zatwierdzenie trwa około 48h.

  3. Skonfigurowałem mój pom.xml, aby użyć pom macierzystego typu sonatype-rodzic. To dodaje wiele dodatkowych informacji i walidacji.

  4. Skonfiguruj SCM do znakowania/zwalniania.

  5. Skonfiguruj jenkins, więc moje wydania -SNAPSHOT będą również publikowane na stronie oss.sonatype.org.

Teraz sama procedura uwalniania poprzez Sonatype jest dość prosta:

  • połączeń release:prepare i release:perform do inscenizacji OSS. Twoje nowe wydanie przejdzie w stanowanie Sonatype
  • Zaloguj się w stopniowanie OSS, a następnie "Zamknij" repozytorium etapowe - jeśli wystąpią błędy sprawdzania poprawności (np. Artefakty bez źródeł), ostrzeże Cię i prawdopodobnie wydasz ". Upuszczać".
  • Jeśli wszystko poszło dobrze, możesz zamiast tego zadzwonić "Zwolnij", a zostanie ono zsynchronizowane w środku za kilka godzin.

pod maską

Jeśli używasz Maven, większość zmian po prostu wymagają dekoracji POM z odpowiedniej szczegółowości (grupy, listy mailingowe, strony głównej, a zwłaszcza <scm/>). sonatype-oss-parent (see its source) pom wykonuje całą pozostałą pracę, która obejmuje:

  • W <distributionManagement/> tagów
  • konfiguracji maven-enforcer-plugin (w szczególności, aby uniknąć kilka złych podpisów z maven-gpg-plugin)
  • Ustawienia maven-release-plugin dla specjalny profil kompilacji do wywołania po wydaniu na OSS, który obejmuje wywołania dla:
    • source:jar
    • javadoc:jar
    • gpg:sign

Oczywiście, można zrobić to ręcznie - wystarczy skopiować zawartość sonatype-OSS-rodzica na własną rękę. Jednak myślę, że jest to trochę do uniknięcia cruft. :)

Mam nadzieję, że to pomaga.

+0

czy możesz mi pomóc w tym pytaniu proszę -> http://stackoverflow.com/questions/32118889/publishing-licensed-artifact-to-maven-central-repository – Cyborgz

0

Cóż, możesz przeczytać kompletny szczegółowy przewodnik krok po kroku, jak przesłać pakiety na Maven Central Repo (s) here.

Ponadto, można przeczytać o repozytoriów here

Powiązane problemy