Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:ffit:3-jahr:cicd:learningunits:lu13:a [2026/05/17 04:50] – apeter | de:modul:ffit:3-jahr:cicd:learningunits:lu13:a [2026/05/26 00:53] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== LU13a - Variabeln im Jenkinsfile | + | ====== LU13a - Best Practices bei Docker |
| - | Die Verwendung von Variablen in Jenkinsfile ist manchmal nicht intuitiv, weil zwei unterschiedliche Interpreter im Spiel sind | + | ==== Naming ==== |
| - | - **Groovy/ | + | |
| - | - **Shell/ | + | |
| - | Dabei spielen die gewählten Anführungszeichen eine entscheidende Rolle | + | Verwenden Sie bei Dockercontainern Kleinbuchstaben anstatt Grossbuchstaben. Vermeiden Sie zudem Leerzeichen. |
| - | * Variablen innerhalb von Double-Quotations werden durch Groovy interpretiert. | + | |
| - | * Variablen innerhalb von Single-Quotations werden nicht durch Groovy interpretiert, | + | |
| - | Grundsätzlich können überall Double-Quotations genutzt werden, sofern Shell-Variablen escaped werden. | + | Bei Nichteinhaltung dieses Naming-Richtlinie kann es zu folgendem Fehler kommen: |
| + | <code log> | ||
| + | invalid argument " | ||
| + | </ | ||
| - | Folgende Tabelle gibt eine Übersicht. | + | ==== Restart Policy ==== |
| - | ^ Variablen-Art ^ Schreibweise ^ Kommentar ^ | + | Das folgende Argument sorgt dafür, dass der Docker-Container nach einem Server-Restart automatisch wieder gestartet wird. Dies ist daher äusserst empfohlen bei einer Umgebung, welche regelmässig runter- und wieder hochfährt. |
| - | | Jenkins/env var | < | + | |
| - | <code bash>sh """ | + | |
| - | PUBLIC_URL=/ | + | |
| - | """</ | + | |
| - | <code bash>sh """ | + | |
| - | -e POSTGRES_USER=$DB_USER | + | |
| - | """</ | + | |
| - | </ | + | |
| - | | Echte Groovy-Variable | < | + | |
| - | <code bash>sh """ | + | |
| - | ${scannerHome}/ | + | |
| - | """</ | + | |
| - | <code bash>sh """ | + | |
| - | $scannerHome/ | + | |
| - | """</ | + | |
| - | </ | + | |
| - | | Echte Shell-Variable | < | + | |
| - | <code bash>sh """ | + | |
| - | if [ " | + | |
| - | """</ | + | |
| - | <code bash>sh """ | + | |
| - | if [ " | + | |
| - | """</ | + | |
| - | </ | + | |
| - | | Jenkins/env var | < | + | |
| - | <code bash>sh ''' | + | |
| - | PUBLIC_URL=/ | + | |
| - | '''</ | + | |
| - | <code bash>sh ''' | + | |
| - | -e POSTGRES_USER=$DB_USER | + | |
| - | '''</ | + | |
| - | </ | + | |
| - | | Echte Groovy-Variable | < | + | |
| - | <code bash>sh ''' | + | |
| - | ${scannerHome}/ | + | |
| - | '''</ | + | |
| - | <code bash>sh ''' | + | |
| - | $scannerHome/ | + | |
| - | '''</ | + | |
| - | </ | + | |
| - | | Echte Shell-Variable | < | + | |
| - | <code bash>sh ''' | + | |
| - | if [ " | + | |
| - | '''</ | + | |
| - | <code bash>sh ''' | + | |
| - | if [ " | + | |
| - | '''</ | + | |
| - | </ | + | |
| + | <code groovy> | ||
| + | Ergänzen Sie bei Bedarf Ihre Jenkinsfiles. | ||
| + | |||
| + | Ein Beispiel finden Sie unter: https:// | ||
| + | |||
| + | ==== .dockerignore ==== | ||
| + | |||
| + | Verwenden Sie bei jeder '' | ||
| + | |||
| + | <code .dockerignore> | ||
| + | .git | ||
| + | .gitignore | ||
| + | .env | ||
| + | .env.* | ||
| + | __pycache__/ | ||
| + | *.pyc | ||
| + | venv/ | ||
| + | .venv/ | ||
| + | .idea/ | ||
| + | .vscode/ | ||
| + | tests/ | ||
| + | coverage/ | ||
| + | *.log | ||
| + | Dockerfile | ||
| + | docker-compose.yml | ||
| + | </ | ||
| + | |||
| + | Fügen Sie für jede '' | ||
| + | |||
| + | Ein Beispiel finden Sie auf: https:// | ||