Versionsnummer
Build und Push Docker Image / build-and-push (push) Successful in 9s

This commit is contained in:
2026-08-26 11:32:52 +02:00
parent b54b599ba9
commit d6c066e18f
3 changed files with 56 additions and 13 deletions
+30 -7
View File
@@ -26,22 +26,45 @@ jobs:
- name: Bei der Registry anmelden
run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin
- name: Image-Namen und Tag bestimmen
# Die Versionsnummer kommt aus der Datei VERSION im Repo-Root (z.B.
# "1.4.0") - vor einem Release dort einfach den Wert erhoehen.
#
# Tags je nach Push:
# - Branch main -> :latest und :v<VERSION>
# - Branch Dev -> :dev und :v<VERSION>-dev
# - Branch beta -> :beta und :v<VERSION>-beta
# - Git-Tag "v1.4.0" -> genau :v1.4.0 (expliziter Versions-Release)
# - immer zusaetzlich -> :<commit-sha> (exakte Nachverfolgung)
- name: Image-Namen und Tags bestimmen
id: vars
run: |
IMAGE=${{ env.REGISTRY }}/${{ github.repository }}
if [ "${{ github.ref_name }}" = "main" ]; then
TAG=latest
VERSION=$(tr -d '[:space:]' < VERSION)
if [ "${{ github.ref_type }}" = "tag" ]; then
TAGS="${{ github.ref_name }}"
elif [ "${{ github.ref_name }}" = "main" ]; then
TAGS="latest v${VERSION}"
else
TAG=$(echo "${{ github.ref_name }}" | tr '[:upper:]' '[:lower:]')
BRANCH=$(echo "${{ github.ref_name }}" | tr '[:upper:]' '[:lower:]')
TAGS="${BRANCH} v${VERSION}-${BRANCH}"
fi
echo "image=$IMAGE" >> "$GITHUB_OUTPUT"
echo "tag=$TAG" >> "$GITHUB_OUTPUT"
echo "tags=$TAGS" >> "$GITHUB_OUTPUT"
echo "Ermittelte Tags: $TAGS"
- name: Image bauen
run: docker build -t ${{ steps.vars.outputs.image }}:${{ steps.vars.outputs.tag }} -t ${{ steps.vars.outputs.image }}:${{ github.sha }} .
run: |
BUILD_ARGS=""
for TAG in ${{ steps.vars.outputs.tags }}; do
BUILD_ARGS="$BUILD_ARGS -t ${{ steps.vars.outputs.image }}:${TAG}"
done
docker build $BUILD_ARGS -t ${{ steps.vars.outputs.image }}:${{ github.sha }} .
- name: Image pushen
run: |
docker push ${{ steps.vars.outputs.image }}:${{ steps.vars.outputs.tag }}
for TAG in ${{ steps.vars.outputs.tags }}; do
docker push ${{ steps.vars.outputs.image }}:${TAG}
done
docker push ${{ steps.vars.outputs.image }}:${{ github.sha }}