🐛 fix: use Dockerfile.prod.template instead of generating inline

This commit is contained in:
2026-04-08 23:24:40 +02:00
parent 1d3d482794
commit e113ab52f4

View File

@@ -318,48 +318,12 @@ jobs:
source VERSION source VERSION
IMAGE_VERSION="$MAJOR.$MINOR.$PATCH${PRERELEASE:+-$PRERELEASE}" IMAGE_VERSION="$MAJOR.$MINOR.$PATCH${PRERELEASE:+-$PRERELEASE}"
# Generate Dockerfile.prod with correct dependency hash # Use the template file with proper dependency hash replacement
DEPS_HASH="${{ needs.build-cache.outputs.deps_hash }}" DEPS_HASH="${{ needs.build-cache.outputs.deps_hash }}"
echo "Using dependency hash: $DEPS_HASH" echo "Using dependency hash: $DEPS_HASH"
# Create Dockerfile.prod with the correct cache image tag # Create Dockerfile.prod from template
cat > docker/Dockerfile.prod << EOF sed "s/{{DEPS_HASH}}/$DEPS_HASH/g" docker/Dockerfile.prod.template > docker/Dockerfile.prod
# dance-lessons-coach Production Docker Image
# Generated by CI/CD pipeline with dependency hash: $DEPS_HASH
# Use the build cache image as base
FROM gitea.arcodange.lab/arcodange/dance-lessons-coach-build-cache:$DEPS_HASH AS builder
# Final minimal image
FROM alpine:3.18
WORKDIR /app
# Install minimal dependencies
RUN apk add --no-cache ca-certificates tzdata
# Copy binary from builder
COPY --from=builder /workspace/dance-lessons-coach /app/dance-lessons-coach
# Copy configuration
COPY config.yaml /app/config.yaml
# Set permissions
RUN chmod +x /app/dance-lessons-coach
# Set timezone
ENV TZ=UTC
# Expose port
EXPOSE 8080
# Health check
HEALTHCHECK --interval=30s --timeout=3s \
CMD wget -q --spider http://localhost:8080/api/health || exit 1
# Entry point
ENTRYPOINT ["/app/dance-lessons-coach"]
EOF
TAGS="$IMAGE_VERSION latest ${{ github.sha }}" TAGS="$IMAGE_VERSION latest ${{ github.sha }}"
echo "Building Docker image with tags: $TAGS" echo "Building Docker image with tags: $TAGS"