Das Backend baut mit Temurin 25 und läuft auf einer Laufzeit aus jlink, wie werkregie ADR 0001 festlegt. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: #8 Reviewed-by: mi <1+mi@noreply.git.javagil.de> Co-authored-by: claude-code <claude-code@javagil.de>
35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# PR#8: Das Backend auf Temurin 25, mit eigener Laufzeit aus jlink
|
|
|
|
> **WARNUNG:** Dieses Dokument beschreibt nur die Änderung dieses PR.
|
|
> Nach dem nächsten Merge kann es schon veraltet sein; es wird nicht nachgepflegt.
|
|
|
|
## Verweise
|
|
|
|
- [werkregie PR#20](https://git.javagil.de/mi/werkregie/pulls/20) und [PR#22](https://git.javagil.de/mi/werkregie/pulls/22):
|
|
ADR 0001, Temurin 25 als JDK und Laufzeit aller werk-Repositories, geladen mit Foojay.
|
|
|
|
## Das Problem
|
|
|
|
ADR 0001 legt für alle werk-Repositories Temurin 25 fest und für jeden Dienst eine Laufzeit, die jlink daraus schneidet.
|
|
Das Backend baut mit einem beliebigen JDK 21 und läuft auf dem Server auf einem ganzen JDK 21 im Home,
|
|
das `scripts/install-jdk.sh` einmalig dorthin legt (D77).
|
|
|
|
## Nicht das Ziel
|
|
|
|
- Keine Änderung an Notation, Editor oder Verhalten des Backends.
|
|
|
|
## Die Lösung
|
|
|
|
- Toolchain Temurin 25, Kotlin 2.4.21, Foojay 1.0.0.
|
|
- Die Aufgabe `runtime` schneidet die Laufzeit des Backends mit jlink aus der Toolchain.
|
|
- `scripts/deploy-backend.sh` überträgt sie mit dem Jar; die Unit startet das Backend damit.
|
|
- `scripts/install-jdk.sh` und `remote backend install-jdk` entfallen; `BACKEND_JDK_DIR` nimmt weiter ein anderes Java.
|
|
- D99 hält die Entscheidung fest; im Plan löst `#bld.backend.jre` den Knoten `#bld.backend.jdk` ab.
|
|
- Lokal geprüft: `check` hält auf Temurin 25, samt Coverage-Grenze;
|
|
das Backend startet auf der Laufzeit aus jlink und antwortet auf `GET /api/v1/info`.
|
|
- Keine Zeile im CHANGELOG: Im Editor ändert sich nichts.
|
|
|
|
## Offene Fragen
|
|
|
|
- [ ] TODO.deploy: Der erste Deploy auf mih00 bringt die Laufzeit; danach kann `~/opt/jdk21` weg.
|