Makefile!

This commit is contained in:
2024-12-18 23:21:12 -06:00
parent 842711825b
commit 043803e041
5 changed files with 196 additions and 78 deletions

View File

@ -2,18 +2,26 @@ FROM golang:1.23.2-alpine AS builder
WORKDIR /app
# Download dependencies
# Download dependencies and install required tools
COPY go.mod go.sum ./
RUN go mod download
RUN go mod download && \
go install github.com/swaggo/swag/cmd/swag@latest
# Copy source code
# Copy source code and Makefile
COPY . .
# Install UPX
RUN apk add --no-cache upx
# Install required tools and make scripts executable
RUN apk add --no-cache upx make bash && \
chmod +x /app/lib/stylegen/gen.sh && \
chmod +x /app/lib/stylegen/tw/*
# Build with optimizations
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
# Create necessary directories
RUN mkdir -p /app/public/css
# Generate assets and build with optimizations
SHELL ["/bin/bash", "-c"]
RUN cd /app && make generate && \
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
-ldflags='-s -w -extldflags "-static"' \
-tags netgo,osusergo \
-o /go/bin/app
@ -21,6 +29,9 @@ RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
# Final stage
FROM scratch
# Copy static files and assets
COPY --from=builder /app/public/css/styles.css /public/css/styles.css
COPY --from=builder /app/docs /docs
COPY --from=builder /go/bin/app /app
ENTRYPOINT ["/app"]