diff --git a/.gitignore b/.gitignore index a3adef2..055f1ae 100644 --- a/.gitignore +++ b/.gitignore @@ -11,13 +11,6 @@ backend/node_modules backend/.env frontend/node_modules docker-compose.dev.yml -scripts/dev-script.sh -scripts/docker-release.sh -scripts/git-push.sh -scripts/merge-dev-to-master.sh -scripts/merge-feature-to-dev.sh -scripts/new-feature.sh -scripts/stash.sh -scripts/switch-branch.sh + backup diff --git a/scripts/docker-release.sh b/scripts/docker-release.sh new file mode 100755 index 0000000..d584e68 --- /dev/null +++ b/scripts/docker-release.sh @@ -0,0 +1,36 @@ +#!/bin/bash +set -e + +# --- Konfiguration --- +GHCR_USERNAME="mboehmlaender" +REPO_NAME="stackpulse" + +# --- Branch prüfen --- +BRANCH=$(git rev-parse --abbrev-ref HEAD) +if [[ "$BRANCH" != "master" ]]; then + echo "Fehler: Du musst auf 'master' sein, um ein Release zu machen." + exit 1 +fi + +# --- Versionsnummer abfragen --- +while true; do + read -p "Bitte Versionsnummer für das Docker-Image eingeben (z.B. v0.1): " VERSION_TAG + if [[ -n "$VERSION_TAG" ]]; then break; else echo "Versionsnummer darf nicht leer sein."; fi +done + +# --- Docker: Login --- +if [ -z "$CR_PAT" ]; then + echo "CR_PAT (GitHub Token) nicht gesetzt! Bitte export CR_PAT=" + exit 1 +fi +echo $CR_PAT | docker login ghcr.io -u $GHCR_USERNAME --password-stdin + +# --- Docker: Build & Tag --- +docker build -t ghcr.io/$GHCR_USERNAME/$REPO_NAME:$VERSION_TAG . +docker tag ghcr.io/$GHCR_USERNAME/$REPO_NAME:$VERSION_TAG ghcr.io/$GHCR_USERNAME/$REPO_NAME:latest + +# --- Docker: Push --- +docker push ghcr.io/$GHCR_USERNAME/$REPO_NAME:$VERSION_TAG +docker push ghcr.io/$GHCR_USERNAME/$REPO_NAME:latest + +echo "Docker-Release $VERSION_TAG erfolgreich gebaut und zu GHCR gepusht!"