Jak spustit Spring Boot aplikaci na OpenShift?

publikováno: 5.10.2015

Jak spustit Spring Boot aplikaci na OpenShift? Protože Spring Boot dokumentace aktuálně obsahuje zastaralé informace, vytvořil jsem toto howto. Mimochodem: Konfigurační soubory používají "openshift" Spring a Maven profil (myslím si, že to je velice užitečné). Pokud profily nepoužíváte, nemusíte konfigurační soubory měnit, toto nastavení nebude mít na funkčnost aplikace vliv. Pokud máte jinak pojmenované profily (jako "prod" nebo "Production" apod.), jednoduše konfigurační soubory změňte.

Nejprve vytvořte DIY aplikaci:

rhc app create OPENSHIFT_APPLICATION_NAME diy-0.1

V konzoli získáte GIT_REMOTE_URL.

Zkopírujte do Vaší aplikace .openshift adresář a zavolejte:

git remote add openshift -f GIT_REMOTE_URL

Přidejte tyto soubory:

.openshift/action_hooks/build:

#!/bin/bash
cd $OPENSHIFT_REPO_DIR
mvn clean package -P openshift -s .openshift/settings.xml -DskipTests=true

.openshift/action_hooks/start:

#!/bin/bash
cd $OPENSHIFT_REPO_DIR
nohup java -jar -Dspring.profiles.active=openshift target/*.jar --server.port=${OPENSHIFT_DIY_PORT} --server.address=${OPENSHIFT_DIY_IP} &

.openshift/action_hooks/stop:

#!/bin/bash
source $OPENSHIFT_CARTRIDGE_SDK_BASH
PID=$(ps -ef | grep java.*\.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    client_result "Application is already stopped"
else
    kill $PID
fi

.openshift/settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<localRepository>$OPENSHIFT_DATA_DIR</localRepository>
</settings>

A nakonec zavolejte:

git update-index --chmod=+x .openshift/action_hooks/build
git update-index --chmod=+x .openshift/action_hooks/start
git update-index --chmod=+x .openshift/action_hooks/stop
git add .
git commit -m "moved to openshift"
git push -f openshift master:master

EDIT: Přidal jsem GitHub repozitář s aplikovanými výše uvedenými kroky: https://github.com/jirkapinkas/spring-boot-openshift

Předchozí:
JRebel zdarma
Následující:
SSD disk
Reference

Skoleni bylo kazdopadne prinosne, i kdyz ve Springu uz chvilku delam, dodalo mi to kontext a hlubsi porozumeni. Libil se mi i prehled dalsich frameworku, jejich prakticke vyuziti a ze

Daniela

Školení bylo profesionální jako vždy (přesto v přátelském a otevřeném duchu). Je vidět, že Jirka je v dané problematice jako ryba ve vodě a neustále se posouvá kupředu, k čemuž

Aleš

Se školením jsem byl naprosto spokojen. Výborný poměr teorie a praxe. Vypíchl bych i přístup školitele k probírané problematice, znalosti a zkušenosti. Je vidět, že Jirka je velký fanoušek Javy

Václav


Novinky

14.2.2018: DNSSEC & Forpsi & Turris Omnia
Problémy kombinace lepší security a Forpsi

22.1.2018: FYI: PrimeFaces 5 Remote Code Execution
Pokud používáte PrimeFaces 5, tak jste možná byli hacknuti

16.11.2017: Java 9 přednáška
Na JavaDays 2017 jsem měl přednášku na téma Java 9, o kterou bych se rád podělil