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:lu09:b [2026/04/07 14:48] – apeter | de:modul:ffit:3-jahr:cicd:learningunits:lu09:b [2026/04/07 14:55] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 64: | Zeile 64: | ||
| - | ^ Pipeline ^ Pipeline ^ | + | ^ Pipeline |
| | < | | < | ||
| <code bash> | <code bash> | ||
| Zeile 82: | Zeile 82: | ||
| -e POSTGRES_DB=$DB_NAME \ | -e POSTGRES_DB=$DB_NAME \ | ||
| </ | </ | ||
| - | < | + | </WRAP> | |
| + | |||
| + | ==== Beispiel-Deployment ==== | ||
| + | Alle Stages für das Deployment von https:// | ||
| + | |||
| + | <code bash> | ||
| + | pipeline { | ||
| + | agent any | ||
| + | |||
| + | environment { | ||
| + | PROJECT_NAME | ||
| + | BRANCH_NAME | ||
| + | REPO_URL | ||
| + | TARGET_DIR | ||
| + | SONAR_SCANNER_OPTS = " | ||
| + | BACKEND_CONTAINER | ||
| + | DB_CONTAINER | ||
| + | DB_VOLUME | ||
| + | DB_USER | ||
| + | DB_PASSWORD | ||
| + | DB_NAME | ||
| + | } | ||
| + | |||
| + | stages { | ||
| + | stage(' | ||
| + | steps { | ||
| + | git branch: BRANCH_NAME, | ||
| + | url: REPO_URL | ||
| + | } | ||
| + | } | ||
| + | |||
| + | stage(' | ||
| + | when { | ||
| + | expression { false } | ||
| + | } | ||
| + | steps { | ||
| + | sh ''' | ||
| + | echo " | ||
| + | |||
| + | docker stop $DB_CONTAINER || true | ||
| + | docker rm $DB_CONTAINER || true | ||
| + | |||
| + | docker run -d \ | ||
| + | --name $DB_CONTAINER \ | ||
| + | --network infra-net \ | ||
| + | -e POSTGRES_USER=$DB_USER \ | ||
| + | -e POSTGRES_PASSWORD=$DB_PASSWORD \ | ||
| + | -e POSTGRES_DB=$DB_NAME \ | ||
| + | -v $DB_VOLUME:/ | ||
| + | -v $WORKSPACE/ | ||
| + | postgres: | ||
| + | ''' | ||
| + | } | ||
| + | } | ||
| + | |||
| + | stage(' | ||
| + | when { | ||
| + | expression { false } | ||
| + | } | ||
| + | steps { | ||
| + | sh ''' | ||
| + | TABLE_EXISTS=$(docker exec $DB_CONTAINER psql -U $DB_USER -d $DB_NAME -tAc " | ||
| + | if [ " | ||
| + | echo " | ||
| + | docker exec -i $DB_CONTAINER psql -U $DB_USER -d $DB_NAME < database/ | ||
| + | else | ||
| + | echo " | ||
| + | fi | ||
| + | ''' | ||
| + | } | ||
| + | } | ||
| + | |||
| + | stage(' | ||
| + | when { | ||
| + | expression { false } | ||
| + | } | ||
| + | steps { | ||
| + | dir(' | ||
| + | sh ''' | ||
| + | npm install | ||
| + | GENERATE_SOURCEMAP=false \ | ||
| + | NODE_OPTIONS=" | ||
| + | PUBLIC_URL=/ | ||
| + | REACT_APP_API_BASE=/ | ||
| + | npm run build | ||
| + | ''' | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | stage(' | ||
| + | when { | ||
| + | expression { false } | ||
| + | } | ||
| + | steps { | ||
| + | sh ''' | ||
| + | echo " | ||
| + | |||
| + | mkdir -p " | ||
| + | rm -rf " | ||
| + | |||
| + | cp -r frontend/ | ||
| + | ''' | ||
| + | } | ||
| + | } | ||
| + | |||
| + | stage(' | ||
| + | when { | ||
| + | expression { false } | ||
| + | } | ||
| + | steps { | ||
| + | sh ''' | ||
| + | docker build -t $BACKEND_CONTAINER backend/ | ||
| + | |||
| + | docker stop $BACKEND_CONTAINER || true | ||
| + | docker rm $BACKEND_CONTAINER || true | ||
| + | |||
| + | docker run -d \ | ||
| + | --name $BACKEND_CONTAINER \ | ||
| + | --network infra-net \ | ||
| + | -e DATABASE_URL=" | ||
| + | $BACKEND_CONTAINER | ||
| + | ''' | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||
| - | '' | ||