Private
Public Access
Build System hinzugefügt
+125
@@ -0,0 +1,125 @@
|
|||||||
|
# Build System
|
||||||
|
|
||||||
|
The build system is split into independent layers.
|
||||||
|
|
||||||
|
```text
|
||||||
|
romexis-payload
|
||||||
|
|
|
||||||
|
v
|
||||||
|
romexis-server
|
||||||
|
^
|
||||||
|
|
|
||||||
|
romexis-base-jre
|
||||||
|
|
||||||
|
romexis-firebird-payload
|
||||||
|
|
|
||||||
|
v
|
||||||
|
romexis-server
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Build Components
|
||||||
|
|
||||||
|
### Payload build
|
||||||
|
|
||||||
|
The payload build extracts the official Romexis installer.
|
||||||
|
|
||||||
|
It produces:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/romexis
|
||||||
|
/opt/romexis-mssql-db
|
||||||
|
/opt/romexis/version
|
||||||
|
```
|
||||||
|
|
||||||
|
### Firebird payload build
|
||||||
|
|
||||||
|
The Firebird payload build extracts the macOS installer database package.
|
||||||
|
|
||||||
|
It produces:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/romexis-firebird-db
|
||||||
|
/opt/romexis-firebird-db/scripts
|
||||||
|
/opt/romexis-firebird-db/tools
|
||||||
|
/opt/romexis-firebird-db/templates
|
||||||
|
```
|
||||||
|
|
||||||
|
### Base image build
|
||||||
|
|
||||||
|
The base image provides reusable runtime dependencies:
|
||||||
|
|
||||||
|
- Java 11
|
||||||
|
- JavaFX/OpenJFX
|
||||||
|
- SQL Server tools
|
||||||
|
- Firebird client libraries and tools
|
||||||
|
- OS dependencies
|
||||||
|
|
||||||
|
### Server image build
|
||||||
|
|
||||||
|
The final server image imports:
|
||||||
|
|
||||||
|
- `/opt/romexis` from `romexis-payload`
|
||||||
|
- `/opt/romexis-mssql-db` from `romexis-payload`
|
||||||
|
- `/opt/romexis-firebird-db` from `romexis-firebird-payload`
|
||||||
|
- base runtime from `romexis-base-jre`
|
||||||
|
- Chilkat native library
|
||||||
|
- Java property agent
|
||||||
|
- runtime helper scripts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Local Build Commands
|
||||||
|
|
||||||
|
Build payload:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build --build-arg ROMEXIS_VERSION=6.5.3.444.203 -t gitea.buchhorster.de/patrick/romexis-payload:6.5.3.444.203 ./romexis-payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Build Firebird payload:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build --build-arg ROMEXIS_VERSION=6.5.3.444.203 -t gitea.buchhorster.de/patrick/romexis-firebird-payload:latest ./romexis-firebird-payload
|
||||||
|
```
|
||||||
|
|
||||||
|
Build server image:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build --build-arg TARGETARCH=amd64 --build-arg ROMEXIS_VERSION=6.5.3.444.203 -t gitea.buchhorster.de/patrick/romexis-server:6.5.3.444.203-amd64 ./romexis
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Debug Build
|
||||||
|
|
||||||
|
Disable cache and show full logs:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build --no-cache --progress=plain --build-arg TARGETARCH=amd64 --build-arg ROMEXIS_VERSION=6.5.3.444.203 -t gitea.buchhorster.de/patrick/romexis-server:6.5.3.444.203-amd64 ./romexis
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Docker Cache Cleanup
|
||||||
|
|
||||||
|
Buildx cache:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker buildx prune -a -f
|
||||||
|
```
|
||||||
|
|
||||||
|
Builder cache:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker builder prune -a -f
|
||||||
|
```
|
||||||
|
|
||||||
|
System cleanup:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker system prune -a -f
|
||||||
|
```
|
||||||
|
|
||||||
|
Do not use `--volumes` unless you intentionally want to remove unused database/application volumes.
|
||||||
Reference in New Issue
Block a user