E-Appointment PHP-Basis-Images
Infrastrukturgrundlage: eappointment-php-base stellt standardisierte, vorgebaute PHP-Laufzeitumgebungen für eappointment-Builds über das Containerfile bereit.
- Externes Münchner Repository: it-at-m/eappointment-php-base
- Ursprüngliches Berliner Repository: gitlab.com/eappointment/php-base
Image-Varianten und Verwendung
Basierend auf eappointment-php-base/.github/workflows/build-images.yaml veröffentlicht das Projekt drei Gruppen von Images:
8.4-baseund8.4-devausphp84/Dockerfile8.3-baseund8.3-devausphp83/Dockerfile8.3-local-amd64und8.3-local-arm64ausphp83-local/Dockerfile
Die Rollenaufteilung:
- Lokale Images (
8.3-local-amd64,8.3-local-arm64) sind für lokale Entwicklung undzmsautomationgedacht. - Nicht-lokale Images (
8.3-*,8.4-*) sind für produktionsnahe/laufzeitorientierte Umgebungen gedacht.
Diese duale lokale Architektur unterstützt die Entwicklung auf macOS Apple Silicon und anderen Nicht-amd64-Umgebungen und bietet zugleich linux/amd64-Kompatibilität.
Lokale Architekturunterstützung
Der Job php_v8_3_local baut Single-Architecture-Tags in einer Matrix:
linux/amd64aufubuntu-latest→8.3-local-amd64linux/arm64aufubuntu-24.04-arm→8.3-local-arm64
Damit stehen lokale Linux-Images für beide Hauptarchitekturen zur Verfügung, die in Entwicklerrechnern und CI-Ausführungskontexten verwendet werden.
Verhalten des Build- und Veröffentlichungs-Workflows
Der Workflow läuft bei:
- Pushes auf alle Branches (
'*') - Pushes aller Tags (
'*') - monatlichem Zeitplan (
0 0 1 * *)
Jeder Image-Job meldet sich bei GHCR an, baut die Image-Targets, validiert den PHP-Start (php-fpm -t oder php -v) und pusht die resultierenden Tags nach:
ghcr.io/it-at-m/eappointment-php-base
Modul-Abhängigkeitskontext
%%{init: {"flowchart": {"defaultRenderer":"elk"}}}%%
graph TD
subgraph InfrastructureFoundation["Infrastructure Foundation"]
PHPBASE["eappointment-php-base<br>PHP Docker Base Images<br>Runtime Environment"]
end
zmsapi --> zmsslim
zmsapi --> zmsclient
zmsapi --> zmsdldb
zmsapi --> zmsdb
zmsapi --> zmsentities
zmsadmin --> mellon
zmsadmin --> zmsclient
zmsadmin --> zmsslim
zmsadmin --> zmsentities
zmscalldisplay --> mellon
zmscalldisplay --> zmsclient
zmscalldisplay --> zmsentities
zmscalldisplay --> zmsslim
zmsstatistic --> mellon
zmsstatistic --> zmsentities
zmsstatistic --> zmsslim
zmsstatistic --> zmsclient
zmsmessaging --> mellon
zmsmessaging --> zmsclient
zmsmessaging --> zmsentities
zmsmessaging --> zmsslim
zmsdb --> zmsentities
zmsdb --> zmsdldb
zmsdb --> mellon
zmsclient --> zmsentities
zmsclient --> zmsslim
zmsclient --> mellon
zmsentities --> mellon
zmsslim --> mellon
zmscitizenapi --> mellon
zmscitizenapi --> zmsslim
zmscitizenapi --> zmsclient
zmscitizenapi --> zmsentities
zmscitizenapi -.-> zmsapi
refarch_gateway -.-> zmscitizenapi
zmscitizenview -.-> refarch_gateway
PHPBASE -->|stellt Laufzeit bereit für| zmsapi
PHPBASE -->|stellt Laufzeit bereit für| zmsadmin
PHPBASE -->|stellt Laufzeit bereit für| zmscalldisplay
PHPBASE -->|stellt Laufzeit bereit für| zmsstatistic
PHPBASE -->|stellt Laufzeit bereit für| zmsmessaging
PHPBASE -->|stellt Laufzeit bereit für| zmsdb
PHPBASE -->|stellt Laufzeit bereit für| zmsclient
PHPBASE -->|stellt Laufzeit bereit für| zmsentities
PHPBASE -->|stellt Laufzeit bereit für| zmsslim
PHPBASE -->|stellt Laufzeit bereit für| zmsdldb
PHPBASE -->|stellt Laufzeit bereit für| mellon
PHPBASE -->|stellt Laufzeit bereit für| zmscitizenapi
subgraph refarch["refarch"]
style refarch stroke-dasharray:5
refarch_gateway
zmscitizenview
end
subgraph zms_modules["ZMS PHP-Module"]
style zms_modules stroke-dasharray:5 5 1 5
zmsapi
zmsadmin
zmscalldisplay
zmsstatistic
zmsmessaging
zmsdb
zmsclient
zmsentities
zmsslim
zmsdldb
mellon
zmscitizenapi
end
classDef foundation fill:#e3f2fd,stroke:#0277bd,stroke-width:3px
classDef citizenapi fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef gateway fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef citizenview fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
class PHPBASE foundation
class zmscitizenapi citizenapi
class refarch_gateway gateway
class zmscitizenview citizenview
Hinweis
Dieses Repository wird voraussichtlich in naher Zukunft in das eappointment-Monorepo verschoben.