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

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

Školení se mi moc líbilo, použití novinek v javě na konkrétních případech použití a vždy srozumitelně vysvětleno. Školitel má převyšující kvalifikaci a dokáže informace správnou formou předávat dál. Moc se

Robin

Pro mě jako správce aplikace, která běží na Tomcat byla velmi přínosná část architektury a monitoringu. Tato část byla vysvětlena velmi dobře i s názornými ukázkami. Byly předvedeny nástroje

Marek


Novinky

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čí!

14.9.2017: Java EE se stěhuje do nadace Eclipse Foundation
Co to znamená?