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

Š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

25.6.2020: Velice pěkný článek na téma proč je v Generics erasure

17.6.2020: Spring Boot 2.3
Vyšel Spring Boot 2.3 a změnila se kadence vydávání releasů

13.6.2020: JetBrains: The State of Developer Ecosystem 2020
Statistika nuda není :-) Dalším rokem je k dispozici report o stavu Javy, JavaScriptu, databází, microservices a další