8.5 #3
@@ -11,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
|
||||||
@@ -154,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'
|
||||||
|
|||||||
Reference in new issue
Block a user