!!! Od 1.6.2022 nastupuji do Komerční banky tvořit novou digitální banku. Školení se nechci úplně vzdávat, v současnosti přemýšlím nad tím, jak alespoň pár školení za rok uskutečnit. Pokud by mi někdo se školeními chtěl pomoci, tak se mi ozvěte. Na JavaDays opět budu, to si nenechám ujít :-) Teď budu mít v KB hodně práce než si všechno sedne, ale jakmile to nastane, tak hned budu přemýšlet nad tím, jak alespoň pár školení za rok uskutečnit, protože je hromada lidí, které bych opět strašně moc rád viděl a považuji je za přátele. Časem (nejspíš v příštích pár měsících) vytvořím nový blog na separátní doméně a novinky Java a SQL školení dále rozšiřovat nebudu. Pokud se něco změní, tak to dám včas vědět zde na webu a na blogu. !!!

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

publikováno: 9.8.2013

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

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

Certicon
David

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ů.

Jaroslav

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


Novinky

16.4.2022: Docker Desktop & High CPU usage

5.4.2022: Spring4Shell 0-day vulnerability

30.3.2022: Online důchodová kalkulačka
Do důchodu daleko, ale je dobré vědět co nás bude čekat a mít v dokumentech pořádek.