Update registry login fallbacks

This commit is contained in:
sandrodach committed 2026-10-23 23:47:04 +02:00
1 parent 274a6a4c5d
commit 4e25ff47bb
1 file changed
+24 -10
+24 -10
View File
@@ -1,6 +1,5 @@
name: Docker Build, Test & Push name: Docker Build, Test & Push
on: on:
push: push:
branches-ignore: branches-ignore:
@@ -12,8 +11,9 @@ on:
# KONFIGURATION (Für andere Repositories einfach hier oben anpassen) # KONFIGURATION (Für andere Repositories einfach hier oben anpassen)
# ============================================================================== # ==============================================================================
env: env:
# Registry & Image-Name (CUSTOM_IMAGE_NAME leer lassen = automatisch <user>/<repo>) # Registry, Benutzer & Image-Name (leer lassen = automatisch aus Gitea-Kontext)
REGISTRY: git.dsit.me REGISTRY: git.dsit.me
REGISTRY_USER: ""
CUSTOM_IMAGE_NAME: "" CUSTOM_IMAGE_NAME: ""
# Pfad zum Build-Kontext und Dockerfile # Pfad zum Build-Kontext und Dockerfile
@@ -155,17 +155,31 @@ jobs:
- name: Login to Gitea Container Registry - name: Login to Gitea Container Registry
if: success() && gitea.event_name != 'pull_request' if: success() && gitea.event_name != 'pull_request'
env: env:
PKG_TOKEN: ${{ secrets.PACKAGE_TOKEN }} SECRET_TOKEN: ${{ secrets.PACKAGE_TOKEN }}
FALLBACK_TOKEN: ${{ gitea.token }} VAR_TOKEN: ${{ vars.PACKAGE_TOKEN }}
DEFAULT_TOKEN: ${{ gitea.token }}
ACTOR_NAME: ${{ gitea.actor }}
OWNER_NAME: ${{ gitea.repository_owner }}
run: | run: |
if [ -n "${PKG_TOKEN}" ]; then # Benutzername bestimmen (REGISTRY_USER -> gitea.actor -> gitea.repository_owner)
echo "Nutze hinterlegtes Secret PACKAGE_TOKEN für Registry-Login..." LOGIN_USER="${REGISTRY_USER:-${ACTOR_NAME:-${OWNER_NAME}}}"
TOKEN="${PKG_TOKEN}" echo "Registry-Login Benutzer: '${LOGIN_USER}'"
# Token bestimmen (Secrets -> Variables -> gitea.token)
if [ -n "${SECRET_TOKEN}" ]; then
echo "Token-Quelle: secrets.PACKAGE_TOKEN (Länge: ${#SECRET_TOKEN} Zeichen)"
RAW_TOKEN="${SECRET_TOKEN}"
elif [ -n "${VAR_TOKEN}" ]; then
echo "Token-Quelle: vars.PACKAGE_TOKEN (Länge: ${#VAR_TOKEN} Zeichen)"
RAW_TOKEN="${VAR_TOKEN}"
else else
echo "WARNUNG: Secret PACKAGE_TOKEN ist leer/nicht gesetzt! Versuche Fallback auf gitea.token..." echo "WARNUNG: Weder secrets.PACKAGE_TOKEN noch vars.PACKAGE_TOKEN gefunden! Nutze gitea.token (Länge: ${#DEFAULT_TOKEN} Zeichen)"
TOKEN="${FALLBACK_TOKEN}" RAW_TOKEN="${DEFAULT_TOKEN}"
fi fi
echo "${TOKEN}" | docker login "${REGISTRY}" -u "${{ gitea.actor }}" --password-stdin
# Eventuelle Leerzeichen/Zeilenumbrüche entfernen
CLEAN_TOKEN=$(printf '%s' "${RAW_TOKEN}" | tr -d '\r\n ')
printf '%s\n' "${CLEAN_TOKEN}" | docker login "${REGISTRY}" -u "${LOGIN_USER}" --password-stdin
- name: Push Docker Image - name: Push Docker Image
if: success() && gitea.event_name != 'pull_request' if: success() && gitea.event_name != 'pull_request'