!!! Od 1.6.2022 jsem nedostupný pro školení. Od té doby budu tvořit novou digitální banku v Komerční bance (a hrát si tam se Spring Boot, Docker, Kubernetes & Apache Kafka). Pokud by měl někdo zájem pokračovat ve školeních po mě, tak se mi ozvěte. Pokud by si někdo chtěl hrát s moderními technologiemi a pracovat v KB, tak se mi taky ozvěte :-) Na JavaDays (snad) opět budu, to si nenechám ujít :-) Letos (2022) očekávám, že budu mít v KB hodně práce než si všechno sedne. Přemýšlím, že bych v příštím roce uspořádal buď pár školení (zejména pro mé stálé a věrné zákazníky), anebo bych vytvořil nějakou novou konferenci nebo vymyslím nějaký jiný formát, 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 Je možné že se ke školením časem vrátím (nikdy neříkej nikdy), ale aktuálně budu kopat za tým KB :-) Pokud se něco změní, tak to dám včas vědět zde na webu a na blogu. !!!

Migrace z Heroku na OpenShift

publikováno: 13.5.2015

Za měsíc a něco málo se OpenShift zásadně promění, ale Heroku ještě předtím změní svůj free model tak, že už nebude použitelný. Pokud potřebujete v mezidobí mít 100% dostupnou aplikaci, pak ji doporučuji buď zmigrovat na vlastní server, nebo na OpenShift. Zde popíšu postup jak vydolovat databázi z Heroku a jak zmigrovat aplikaci na OpenShift:

EDIT: Dle vyjádření jednoho vývojáře OpenShift (@TheSteve0) stávající OpenShift aplikace nebude nutné migrovat na Docker (nový způsob nasazování aplikací do OpenShift) až do konce tohoto roku (2015).

1. Do aplikace je nutné přidat .openshift adresář. Nejjednodušší je vzít ho z hello world OpenShift projektu.

 

2. Do pom.xml přidejte openshift profile:

<profile>
    <id>openshift</id>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <outputDirectory>webapps</outputDirectory>
                    <warName>ROOT</warName>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

3. Uložte dump databáze:

heroku pg:backups capture --app HEROKU_APPLICATION_NAME

 

4. Vygenerujte URL pro stažení dumpu:

heroku pg:backups public-url -a HEROKU_APPLICATION_NAME

 

5. Uložte dump soubor (dále DUMP) na nějaký veřejný server (dále DUMP_URL).

 

6. Vytvořte OpenShift aplikaci (tímto se vytvoří virtuální server s Tomcat 7):

rhc app create OPENSHIFT_APPLICATION_NAME jbossews-2.0

Tímto získáte Git remote URL (dále GIT_REMOTE_URL)

 

7. Otevřete konzoli v adresáři Vašeho projektu a přidejte repozitář s názvem openshift:

git remote add openshift -f GIT_REMOTE_URL

 

8.  Přidejte PostgreSQL cartridge:

rhc cartridge add postgresql-9.2 --app OPENSHIFT_APPLICATION_NAME

Tím získáte název uživatele (dále DB_USER_NAME)

 

9. Přihlašte se přes SSH na cartridge a načtěte data z dumpu do databáze:

rhc ssh --app OPENSHIFT_APPLICATION_NAME


cd app-root/data/

wget DUMP_URL

pg_restore --no-owner -d OPENSHIFT_APPLICATION_NAME -U DB_USER_NAME < DUMP

exit

 

10. Git Push

git push -f OPENSHIFT_APPLICATION_NAME master:master

 

HOTOVO :-)

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.