linuxmuster-voucher/build-and-push-latest.sh
2025-05-04 23:46:45 +02:00

38 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
docker build -t git.az-it.net/az/oiliversum-platzierungstool:latest . && docker push git.az-it.net/az/oiliversum-platzierungstool:latest
#!/bin/bash
# Repository-Name
REPO="git.az-it.net/az/linuxmuster-voucher"
# Suche nach vorhandenen Tags im lokalen Docker-System
LATEST_TAG=$(docker images --format "{{.Repository}}:{{.Tag}}" | grep "$REPO" | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+" | sort -V | tail -n 1)
# Wenn kein Tag gefunden wurde, starte mit 1.0.0
if [ -z "$LATEST_TAG" ]; then
NEW_TAG="0.0.1"
else
# Versionsnummer inkrementieren
IFS='.' read -r MAJOR MINOR PATCH <<< "$LATEST_TAG"
PATCH=$((PATCH + 1))
NEW_TAG="$MAJOR.$MINOR.$PATCH"
fi
# Committe git-repository
echo $NEW_TAG > version.txt
git add .
git commit -m "Update to version $NEW_TAG" || exit 1
git push || exit 1
# Baue das Docker-Image mit der neuen Versionsnummer
echo "Building Docker image with tag: $NEW_TAG"
docker build -t "$REPO:$NEW_TAG" . || exit 1
# Push das neue Image
echo "Pushing Docker image: $REPO:$NEW_TAG"
docker push "$REPO:$NEW_TAG" || exit 1
# Aktualisiere den "latest"-Tag
echo "Updating latest tag"
docker tag "$REPO:$NEW_TAG" "$REPO:latest"
docker push "$REPO:latest"