Docker-Image bauen / build (push) Successful in 1m31s
Der bisherige Schritt hängte das Arbeitsverzeichnis mit -v "$PWD":/app in einen Container. Läuft der Gitea-Runner selbst in einem Container, zeigt $PWD auf einen Pfad, den der Docker-Daemon des Hosts nicht kennt: der Mount wäre leer, pytest fände keine Tests und meldete Erfolg. Wieder ein Test, der nicht hätte fehlschlagen können. Jetzt über Dockerfile.test - der Code kommt über den Build-Kontext hinein, unabhängig davon, wie der Runner aufgebaut ist. tests/ bleibt dafür im Kontext; das Anwendungs-Image kopiert sie weiterhin nicht mit. Lokal genauso ausgeführt wie die CI es tun wird: 81 Tests grün. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GR4bNaj9GtRu57J4Niii8o
19 lines
620 B
Docker
19 lines
620 B
Docker
# Nur zum Testen - baut die Testumgebung samt Quellcode ins Image.
|
|
#
|
|
# Bewusst ohne Bind-Mount: läuft der CI-Runner selbst in einem Container,
|
|
# zeigt $PWD auf einen Pfad, den der Docker-Daemon des Hosts nicht kennt.
|
|
# Der Mount wäre dann leer und die Tests liefen ins Leere - ohne
|
|
# Fehlermeldung. Über den Build-Kontext kommt der Code zuverlässig hinein.
|
|
FROM python:3.11-slim
|
|
|
|
WORKDIR /app
|
|
COPY requirements.txt requirements-dev.txt ./
|
|
RUN pip install --no-cache-dir -r requirements-dev.txt
|
|
|
|
COPY alembic.ini ./
|
|
COPY alembic/ ./alembic/
|
|
COPY app/ ./app/
|
|
COPY tests/ ./tests/
|
|
|
|
CMD ["python", "-m", "pytest", "-q"]
|