!!! Od 1.6.2022 jsem zaměstnán na HPP. Kde? To tady nemůžu napsat (kvůli Compliance). Ale na mém Linkedin účtu (nick: Jirka Pinkas) to určitě najdete. 😁 V současnosti mám volných 10 dní, které mohu alokovat na školení 😊

Jak nahrát vlastní projekt do Maven repozitáře (Central)?

publikováno: 2013-08-09T00:00:00

Právě se mi po dvou dnech útrap podařilo dokopat projekt jsitemapgenerator do Maven repozitáře. Tak jak na to? Pokud je vše dobře nastavené, pak stačí posloupnost následujících kroků:

  1. mvn clean
  2. git commit -a
  3. git push jsitemapgenerator NEBO git push git@github.com:jirkapinkas/jsitemapgenerator.git master:master
  4. mvn clean deploy
  5. mvn release:clean
  6. mvn release:prepare
  7. mvn release:perform
  8. A nakonec je nutné jít do https://oss.sonatype.org/index.html#stagingRepositories, uzavřít (close) a zveřejnit (release) repozitář.

Prakticky je vše popsáno zde: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide Dokud ale nemáte kompletně nakonfigurovaný systém, tak v průběhu bude docházet k různým chybám, které budou vyžadovat hodně Googlení. 

Tipy & Triky:

  • Na OS Windows jde všechno daleko hůř nakonfigurovat, bez Cygwinu a alespoň letmé znalosti příkazů v Linuxu se neobejdete. Na Linuxu (nebo Macu) jde všechno jednodušeji (jenže já bohužel vyvíjím na Windows) :(
  • Verze projektu MUSÍ končit příponou -SNAPSHOT
  • Všechny JUnit testy MUSÍ projít!
  • Nejprve se musíte zaregistrovat na https://issues.sonatype.org Tam také vytvoříte ticket na vytvoření nového projektu, například: https://issues.sonatype.org/browse/OSSRH-6930
  • Na OS Windows musíte nainstalovat Cygwin a při instalaci vybrat, že chcete také OpenSSH
  • Nejlepší je, když je projekt verzován na Github, to je pak moc pěkně popsané, v návodu jsou ale popsány i jiné možnosti.
  • Projekt musí splňovat určité standardy, to je také popsáno v návodu. Když se jich budete striktně držet, tak nebude problém s přijetím projektu do repozitáře. S tím také souvisí, že bych udělal release projektu do Maven repozitáře co nejdřív (nečekal bych až bude projekt naprosto dokonalý). Refactoring projektu tak, aby splňoval standardy je v průběhu vývoje otrava, na začátku vývoje to tolik nebolí.
  • Musíte nainstalovat GPG klienta http://www.gnupg.org/ a distribuovat veřejný klíč na server hkp://pool.sks-keyservers.net/, jak na to je tady: https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven
  • Pak následuje posloupnost kroků uvedených na začátku, všechny musí projít. Přestože mám rád na obyč. práci "klikací" nástroje jako je eGit, m2e apod., tak pro práci s Maven repozitářem si myslím je lepší použít příkazovou řádku.
  • Dále je nutné přejít na web https://oss.sonatype.org/index.html kde je nutné vše překontrolovat (případně zjistit chyby) a odeslat projekt ke zveřejnění. (tento krok se dá zautomatizovat, to je úplně na konci návodu. Automatizaci tohoto kroku bych ale rozhodně doporučil nechat na později.)
  • Poté je ještě nutné poslat do ticketu odkaz na release: https://oss.sonatype.org/content/repositories/releases/cz/jiripinkas/jsitemapgenerator/
  • Po překontrolování správcem bude zprovozněna synchronizace do Centralu, ve kterém se objeví do dvou hodin od schválení. Další releasy se již budou synchronizovat automaticky. Jestli je projekt v Centralu ověříte takto: http://search.maven.org/#search%7Cga%7C1%7Cjsitemapgenerator

Předchozí:
Maven site plugin
Následující:
Spring Framework 3.2.4
Reference

Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek času na dotazy ohledně probíraných témat.

Certicon
David

Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.

Retia
Jaromír

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů. Též oceňuji, že jsme se kromě probírané látky dozvěděli i spoustu dalších zajímavých věcí a trendů z IT. A důležitá byla také přátelská atmosféra školení.

Generali a.s.
Jaroslav


Novinky

2024-09-14T00:00:00: Github Copilot & IntelliJ Idea
Novinky v Github Copilot + IntelliJ Idea

2024-08-31T00:00:00: AI & Copilot

2023-12-25T00:00:00: Kubernetes & Prometheus Documentary