Main #5
@@ -11,8 +11,9 @@ on:
|
||||
# KONFIGURATION (Für andere Repositories einfach hier oben anpassen)
|
||||
# ==============================================================================
|
||||
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_USER: ""
|
||||
CUSTOM_IMAGE_NAME: ""
|
||||
|
||||
# Pfad zum Build-Kontext und Dockerfile
|
||||
@@ -154,17 +155,31 @@ jobs:
|
||||
- name: Login to Gitea Container Registry
|
||||
if: success() && gitea.event_name != 'pull_request'
|
||||
env:
|
||||
PKG_TOKEN: ${{ secrets.PACKAGE_TOKEN }}
|
||||
FALLBACK_TOKEN: ${{ gitea.token }}
|
||||
SECRET_TOKEN: ${{ secrets.PACKAGE_TOKEN }}
|
||||
VAR_TOKEN: ${{ vars.PACKAGE_TOKEN }}
|
||||
DEFAULT_TOKEN: ${{ gitea.token }}
|
||||
ACTOR_NAME: ${{ gitea.actor }}
|
||||
OWNER_NAME: ${{ gitea.repository_owner }}
|
||||
run: |
|
||||
if [ -n "${PKG_TOKEN}" ]; then
|
||||
echo "Nutze hinterlegtes Secret PACKAGE_TOKEN für Registry-Login..."
|
||||
TOKEN="${PKG_TOKEN}"
|
||||
# Benutzername bestimmen (REGISTRY_USER -> gitea.actor -> gitea.repository_owner)
|
||||
LOGIN_USER="${REGISTRY_USER:-${ACTOR_NAME:-${OWNER_NAME}}}"
|
||||
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
|
||||
echo "WARNUNG: Secret PACKAGE_TOKEN ist leer/nicht gesetzt! Versuche Fallback auf gitea.token..."
|
||||
TOKEN="${FALLBACK_TOKEN}"
|
||||
echo "WARNUNG: Weder secrets.PACKAGE_TOKEN noch vars.PACKAGE_TOKEN gefunden! Nutze gitea.token (Länge: ${#DEFAULT_TOKEN} Zeichen)"
|
||||
RAW_TOKEN="${DEFAULT_TOKEN}"
|
||||
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
|
||||
if: success() && gitea.event_name != 'pull_request'
|
||||
|
||||
Reference in new issue
Block a user