Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:ffit:3-jahr:cicd:learningunits:lu08:a [2026/03/30 23:54] – angelegt apeter | de:modul:ffit:3-jahr:cicd:learningunits:lu08:a [2026/03/31 00:38] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== LU08a - Container in der Pipeline ====== | ====== LU08a - Container in der Pipeline ====== | ||
| - | Um die E2e-Tests in der Pipeline auszuführen müssen oft Services (Zum Beispiel eine Datenbank und/oder ein Backend) in der Testumgebung bereitgestellt werden. | + | Um die Integration und E2e-Tests in der Pipeline auszuführen müssen oft Services (Zum Beispiel eine Datenbank und/oder ein Backend) in der Testumgebung bereitgestellt werden. |
| + | |||
| + | Im nachfolgenden Code-Block sehen Sie ein Beispiel einer PostgreSQL-Datenbank. Der gesamte Code befindet sich auf: https:// | ||
| + | |||
| + | <code yaml> | ||
| + | services: | ||
| + | postgres: | ||
| + | image: postgres: | ||
| + | env: | ||
| + | POSTGRES_USER: | ||
| + | POSTGRES_PASSWORD: | ||
| + | POSTGRES_DB: | ||
| + | ports: | ||
| + | - 5432:5432 | ||
| + | options: >- | ||
| + | --health-cmd pg_isready | ||
| + | --health-interval 10s | ||
| + | --health-timeout 5s | ||
| + | --health-retries 5 | ||
| + | |||
| + | env: | ||
| + | DATABASE_URL: | ||
| + | </ | ||
| + | |||
| + | Analog dazu gibt es auch ein Beispiel für einen Python-Backend-Server ebenfalls auf: https:// | ||
| + | |||
| + | <code yaml> | ||
| + | steps: | ||
| + | - name: Checkout code | ||
| + | uses: actions/ | ||
| + | with: | ||
| + | fetch-depth: | ||
| + | |||
| + | - name: Initialize database schema | ||
| + | working-directory: | ||
| + | run: | | ||
| + | psql postgresql:// | ||
| + | |||
| + | - name: Set up python | ||
| + | uses: actions/ | ||
| + | with: | ||
| + | python-version: | ||
| + | |||
| + | - name: Install dependencies | ||
| + | working-directory: | ||
| + | run: | | ||
| + | python -m venv .venv | ||
| + | source .venv/ | ||
| + | pip install -r requirements.txt | ||
| + | pip install -r requirements-dev.txt | ||
| + | |||
| + | ... | ||
| + | |||
| + | - name: Start backend server | ||
| + | working-directory: | ||
| + | run: | | ||
| + | source .venv/ | ||
| + | python app.py > backend.log 2>&1 & | ||
| + | |||
| + | - name: Wait for backend | ||
| + | run: | | ||
| + | until curl --silent http:// | ||
| + | echo " | ||
| + | sleep 2 | ||
| + | done | ||
| + | |||
| + | - name: Wait for frontend | ||
| + | run: | | ||
| + | until curl --silent http:// | ||
| + | echo " | ||
| + | sleep 2 | ||
| + | done | ||
| + | |||
| + | - name: Run e2e tests | ||
| + | working-directory: | ||
| + | run: npm run e2e-headless | ||
| + | |||
| + | </ | ||