Clone
2
Server Image.de
Patrick Gniza edited this page 2026-08-21 09:04:39 +02:00

Deutsch | English

Server-Image

Verzeichnis:

romexis/

Das endgültige Romexis-Server-Image kombiniert das vorbereitete Payload, das Runtime-Base-Image, das Firebird-Payload und die Laufzeitskripte.


Build-Eingaben

ROMEXIS_BASE_IMAGE
ROMEXIS_PAYLOAD_IMAGE
ROMEXIS_FIREBIRD_PAYLOAD_IMAGE
ROMEXIS_VERSION
TARGETARCH
IMAGE_SUFFIX

Beispielvorgaben:

ARG TARGETARCH=amd64
ARG ROMEXIS_VERSION=6.5.3.444.203
ARG IMAGE_SUFFIX=

ARG ROMEXIS_BASE_IMAGE=gitea.buchhorster.de/planmeca/romexis-base-jre:11
ARG ROMEXIS_PAYLOAD_IMAGE=gitea.buchhorster.de/planmeca/romexis-payload:${ROMEXIS_VERSION}
ARG ROMEXIS_FIREBIRD_PAYLOAD_IMAGE=gitea.buchhorster.de/planmeca/romexis-firebird-payload:latest

Build-Stufen

Build context: romexis-server-runtime
  Provides Java 11, Chilkat and RomexisPropertyAgent.jar.

Build context: romexis-payload
  Provides /opt/romexis and /opt/romexis-mssql-db.

Build context: romexis-firebird-payload
  Provides /opt/romexis-firebird-db.

Final stage
  Uses romexis-server-runtime as its filesystem base and assembles payloads plus runtime scripts.

BuildKit-Abhängigkeitskontexte

Die lokalen und CI-Build-Skripte übergeben Runtime- und Payload-Images als explizite BuildKit-Named-Image-Contexts. Dadurch ist die Abhängigkeitskette eindeutig; CI kann commit-spezifische Staging-Images verwenden, während lokale Builds isolierte lokale Aliase nutzen können.

Das finale Server-Dockerfile kompiliert Chilkat oder den PropertyAgent nicht mehr selbst; diese Artefakte werden aus der gemeinsamen Server-Runtime materialisiert.



Laufzeitskripte

Das endgültige Image enthält:

/entrypoint.sh
/opt/init-romexis-db.sh
/opt/init-romexis-mssql-db.sh
/opt/init-romexis-firebird-db.sh
/opt/fix-keystore-alias.sh

Java Property Agent

Das Image enthält:

/opt/romexis/server/RomexisPropertyAgent.jar

Dies ermöglicht die Injektion von Laufzeiteigenschaften, bevor Romexis startet.

Beispielmuster für Umgebungsvariablen:

PROPERTY_AGENT_SET_KEY_<property-name>=<value>

Laufzeitvalidierung

Das Dockerfile sollte während des Builds wichtige Payload-Ausgaben prüfen, insbesondere:

/opt/romexis/server/RomexisServer.jar
/opt/romexis/version
/opt/romexis-mssql-db
/opt/romexis-firebird-db

Ein frühzeitiger Fehler ist einem unvollständigen Laufzeitimage vorzuziehen.