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

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

Velmi se mi líbila přátelská a neformální atmosféra a viditelné nadšení a zapojení přednášejícího do problematiky a tudíž skutečně zajímavé příklady z praxe a možnost zeptat se prakticky na jakoukoliv

Ondřej


Novinky

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

26.9.2017: RebelLabs Developer Productivity Report 2017
Další rok, další RebelLabs report :-)

14.9.2017: Java release cycle zrychluje & Java Flight Recorder zdarma
Dlouhé mnohaleté prodlevy mezi jednotlivými major releasy v Javě končí!