28 lines
662 B
Docker
28 lines
662 B
Docker
# BUILD
|
|
FROM golang:1.22.0-alpine AS build
|
|
|
|
# Update packages and clear cache
|
|
RUN apk add --no-cache curl
|
|
# Set work directory
|
|
WORKDIR /app
|
|
RUN apk add git
|
|
# Add main files to app
|
|
ADD . .
|
|
RUN git config --global url."https://buildToken:glpat-axA8ttckx3aPf_xd2Dym@penahub.gitlab.yandexcloud.net/".insteadOf "https://penahub.gitlab.yandexcloud.net/"
|
|
# Download go depences
|
|
RUN go mod download
|
|
# Build app
|
|
RUN GOOS=linux go build -o bin ./cmd/main.go
|
|
|
|
# PRODUCTION
|
|
FROM alpine:3.18.3 AS production
|
|
|
|
# Install packages
|
|
RUN apk --no-cache add ca-certificates
|
|
# Create home directory
|
|
WORKDIR /app
|
|
# Copy build file
|
|
COPY --from=build /app/bin ./app
|
|
# CMD
|
|
CMD ["./app"]
|