🐛 fix: use Dockerfile.prod.template instead of generating inline
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user