1.8 KiB
1.8 KiB
Docker-Workflow (Bruchtal Standard)
Dieser Workflow ist verbindlich für alle Änderungen an Docker-Stacks in Bruchtal.
Ziel:
- Keine Konfiguration direkt auf der VM
- Alles versioniert in Git
- Reproduzierbare Deployments
- Dokumentation immer synchron zur Infrastruktur
Grundprinzip
Konfiguration passiert lokal in VS Code. Die VM ist nur noch Laufzeitumgebung.
- Lokal ändern, egal was
- Committen & Pushen
- der Pull auf der VM wird automatisch über einen Webhook ausgeführt
- Container neu starten
flowchart LR
Dev -->|git push| Gitea
Gitea -->|POST Hook| Webhook
Webhook -->|git pull| Workspace
Workspace -->|Markdown changes| MkDocs
MkDocs -->|serve| Browser
---
## Workflow "neuer Container"
- VSCode starten in ~Bruchtal mit code . => VS startet sauber mit der Giteinstellung
**ALLE ÄNDERUNGEN NUR IN VS**
### neuen Containeranlegen
- `Bruchtal/<Containername>` anlegen
- `Bruchtal/<Containername>/docker-compose.yml` anlegen
- docker-compose.yml editieren,
- commit mit Message `"infra(<Containername>): docker-compose.yml neu angelegt"`
- push
### neuen Container dokumentieren
- `Bruchtal/docs/<Containername>` anlegen
- `Bruchtal/docs/<Containername>/<Containername>.md` anlegen
- `<Containername>.md` editieren, Blaupause z.B: wikijs.md
- commit message `docs(<Containername>): Dokumentation angelegt`
- `Bruchtal/mkdocs.md`: nav sinnvoll ergänzen
- commit message `docs(mkdocs): <Containername>` ergänzt
- push
### Übernehmen auf VM Docker
```bash
ssh docker
cd /docker/Bruchtal
git pull
cd /docker/Bruchtal/<Containername>
docker compose up -d
Repository-Struktur
Bruchtal/
├── docker/
│ └── <Containername>/
│ └── docker-compose.yml
└── docs/
└── docker/
└── <Containername>/
└── <Containername>.md