Kontaktní osoba:
Ing. Jiří Pinkas
Mobil: +420 774 912 047

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 :-)





comments powered by Disqus


Reference

" Co dodat? Byl to super kurz. Pěkné pochopitelné příklady k vybrané problematice. Rychlost školitele optimální, vše se dalo pěkně stíhat. Pokud účastníkk nevěděl nebo udělal chybu a nevěděl, tak školitel " podrobnosti ...

Michal

" S kurzem jsem byl maximálně spokojen. Na přednášejícím bylo vidět, že ví o čem mluví a dokázal zaujmout, i v případě neporozumění ochotně pomohl a danému člověku problém osvětlil. Rozhodně " podrobnosti ...

Josef

Embedit

" Java kurz byl pro mě velmi přínosný. Jiří je skvělý školitel, který dělá přesně to, co ho baví a na přístupu to bylo každý den velmi znát. Školení bych doporučil " podrobnosti ...

Filip


Novinky

Nové datum vydání Java 9: 21.9.2017

Mark Reinhold aktualizoval datum GA (General Availability) Java 9 na 21.9.2017. více ...

Juergen Hoeller v Brně (jeden z autorů Spring frameworku)! 15.3.2017

15.3.2017, 18:00, Brno, Smetanova 19. Nutná rezervace místa! více ...

Bilance Java školení 2016

Co se mi (ne)povedlo v roce 2016 a plány na rok 2017 více ...

Oracle se prý v roce 2017 zaměří na vynucení Java licencí a pokutování zákazníků

Jak nedostat od Oracle pokutu za komerční použití Javy? více ...

Java DB (Derby) a Visual VM nebudou součástí Java JDK 9

Změny v Java JDK 9 více ...

Java VisualVM (jvisualvm) je nyní na GitHubu

více ...