fix: Docker image tag format - remove leading slashes from registry URL
- Add validation and cleanup for ACTUAL_REGISTRY variable - Remove leading/trailing slashes from registry URLs - Use REGISTRY_TO_USE variable with fallback to REGISTRY env - Fix invalid tag format '/framework:latest' error
This commit is contained in:
@@ -390,10 +390,10 @@ jobs:
|
||||
if [ $LOGIN_EXIT_CODE -eq 0 ]; then
|
||||
echo "✅ Erfolgreich bei Registry angemeldet über HTTP: $TEST_URL:5000"
|
||||
REGISTRY_URL="$TEST_URL:5000"
|
||||
ACTUAL_REGISTRY="$TEST_URL:5000"
|
||||
ACTUAL_REGISTRY=$(echo "$TEST_URL:5000" | sed 's|^/||' | sed 's|/$||')
|
||||
LOGIN_SUCCESS=true
|
||||
echo "REGISTRY_URL=$TEST_URL:5000" >> $GITHUB_ENV
|
||||
echo "ACTUAL_REGISTRY=$TEST_URL:5000" >> $GITHUB_ENV
|
||||
echo "ACTUAL_REGISTRY=$ACTUAL_REGISTRY" >> $GITHUB_ENV
|
||||
break
|
||||
else
|
||||
echo "⚠️ HTTP-Login fehlgeschlagen für $TEST_URL:5000, versuche nächste URL..."
|
||||
@@ -436,13 +436,20 @@ jobs:
|
||||
echo ""
|
||||
echo "✅ Registry-Login erfolgreich!"
|
||||
echo "📦 Verwendete Registry URL: $REGISTRY_URL"
|
||||
echo "📦 ACTUAL_REGISTRY: $ACTUAL_REGISTRY"
|
||||
|
||||
# Stelle sicher, dass ACTUAL_REGISTRY gesetzt ist (für Build-Step)
|
||||
if [ -z "$ACTUAL_REGISTRY" ]; then
|
||||
if [ -z "$ACTUAL_REGISTRY" ] || [ "$ACTUAL_REGISTRY" = "/" ]; then
|
||||
ACTUAL_REGISTRY="$REGISTRY_URL"
|
||||
echo "ACTUAL_REGISTRY=$REGISTRY_URL" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
# Entferne führende/trailing Slashes
|
||||
ACTUAL_REGISTRY=$(echo "$ACTUAL_REGISTRY" | sed 's|^/||' | sed 's|/$||')
|
||||
|
||||
# Schreibe bereinigte Registry in GITHUB_ENV
|
||||
echo "ACTUAL_REGISTRY=$ACTUAL_REGISTRY" >> $GITHUB_ENV
|
||||
echo "📝 Finale ACTUAL_REGISTRY (für Build): $ACTUAL_REGISTRY"
|
||||
|
||||
- name: Build and push Docker image
|
||||
shell: bash
|
||||
env:
|
||||
@@ -451,12 +458,25 @@ jobs:
|
||||
cd /workspace/repo
|
||||
|
||||
# Fallback falls ACTUAL_REGISTRY nicht gesetzt wurde
|
||||
if [ -z "$ACTUAL_REGISTRY" ]; then
|
||||
echo "⚠️ ACTUAL_REGISTRY nicht gesetzt, verwende Fallback: ${{ env.REGISTRY }}"
|
||||
if [ -z "$ACTUAL_REGISTRY" ] || [ "$ACTUAL_REGISTRY" = "/" ] || [ "$ACTUAL_REGISTRY" = "" ]; then
|
||||
echo "⚠️ ACTUAL_REGISTRY nicht gesetzt oder leer, verwende Fallback: ${{ env.REGISTRY }}"
|
||||
ACTUAL_REGISTRY="${{ env.REGISTRY }}"
|
||||
fi
|
||||
|
||||
# Entferne führende/trailing Slashes aus ACTUAL_REGISTRY
|
||||
ACTUAL_REGISTRY=$(echo "$ACTUAL_REGISTRY" | sed 's|^/||' | sed 's|/$||')
|
||||
|
||||
# Validierung: Stelle sicher, dass ACTUAL_REGISTRY nicht leer ist
|
||||
if [ -z "$ACTUAL_REGISTRY" ]; then
|
||||
echo "❌ Fehler: ACTUAL_REGISTRY ist leer! Kann kein Image bauen."
|
||||
echo "REGISTRY env: ${{ env.REGISTRY }}"
|
||||
echo "ACTUAL_REGISTRY env: ${{ env.ACTUAL_REGISTRY }}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📦 Verwendete Registry für Build: $ACTUAL_REGISTRY"
|
||||
echo "📝 Image Name: ${{ env.IMAGE_NAME }}"
|
||||
echo "🏷️ Vollständiger Image-Pfad: ${ACTUAL_REGISTRY}/${{ env.IMAGE_NAME }}:latest"
|
||||
|
||||
COMMIT_SHA="${{ github.sha }}"
|
||||
if [ -z "$COMMIT_SHA" ]; then
|
||||
@@ -469,15 +489,15 @@ jobs:
|
||||
SHORT_SHA=$(echo "$COMMIT_SHA" | cut -c1-7)
|
||||
TAG="${SHORT_SHA}-$(date +%s)"
|
||||
|
||||
# Build with cache
|
||||
# Build with cache - verwende REGISTRY_TO_USE Variable
|
||||
docker buildx build \
|
||||
--platform linux/amd64 \
|
||||
--file ./Dockerfile.production \
|
||||
--tag ${ACTUAL_REGISTRY}/${{ env.IMAGE_NAME }}:latest \
|
||||
--tag ${ACTUAL_REGISTRY}/${{ env.IMAGE_NAME }}:${TAG} \
|
||||
--tag ${ACTUAL_REGISTRY}/${{ env.IMAGE_NAME }}:git-${SHORT_SHA} \
|
||||
--cache-from type=registry,ref=${ACTUAL_REGISTRY}/${{ env.IMAGE_NAME }}:buildcache \
|
||||
--cache-to type=registry,ref=${ACTUAL_REGISTRY}/${{ env.IMAGE_NAME }}:buildcache,mode=max \
|
||||
--tag "${REGISTRY_TO_USE}/${IMAGE_NAME}:latest" \
|
||||
--tag "${REGISTRY_TO_USE}/${IMAGE_NAME}:${TAG}" \
|
||||
--tag "${REGISTRY_TO_USE}/${IMAGE_NAME}:git-${SHORT_SHA}" \
|
||||
--cache-from type=registry,ref="${REGISTRY_TO_USE}/${IMAGE_NAME}:buildcache" \
|
||||
--cache-to type=registry,ref="${REGISTRY_TO_USE}/${IMAGE_NAME}:buildcache",mode=max \
|
||||
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
|
||||
--build-arg GIT_COMMIT=${COMMIT_SHA} \
|
||||
--build-arg GIT_BRANCH=${REF_NAME} \
|
||||
|
||||
Reference in New Issue
Block a user