2019-06-25 02:40:29 -08:00
|
|
|
FROM golang:1.12.6-alpine3.9 AS build_base
|
2019-05-23 19:40:29 -05:00
|
|
|
|
|
|
|
LABEL maintainer="lee@geeksinthewoods.com"
|
|
|
|
|
|
|
|
RUN apk --update --no-cache add \
|
|
|
|
git
|
|
|
|
|
2019-06-25 02:40:29 -08:00
|
|
|
# Change dir to project base.
|
2019-05-23 19:40:29 -05:00
|
|
|
WORKDIR $GOPATH/src/gitlab.com/geeks-accelerator/oss/saas-starter-kit/example-project
|
|
|
|
|
2019-06-25 02:40:29 -08:00
|
|
|
# Enable go modules.
|
2019-05-23 19:40:29 -05:00
|
|
|
ENV GO111MODULE="on"
|
|
|
|
COPY go.mod .
|
|
|
|
COPY go.sum .
|
|
|
|
RUN go mod download
|
|
|
|
|
|
|
|
FROM build_base AS builder
|
|
|
|
|
2019-06-25 02:40:29 -08:00
|
|
|
# Copy shared packages.
|
2019-05-23 19:40:29 -05:00
|
|
|
COPY internal ./internal
|
|
|
|
|
2019-06-25 02:40:29 -08:00
|
|
|
# Copy cmd specific packages.
|
2019-05-23 19:40:29 -05:00
|
|
|
COPY cmd/web-app ./cmd/web-app
|
|
|
|
COPY cmd/web-app/templates /templates
|
|
|
|
COPY cmd/web-app/static /static
|
|
|
|
|
|
|
|
WORKDIR ./cmd/web-app
|
|
|
|
|
|
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o /gosrv .
|
|
|
|
|
|
|
|
FROM alpine:3.9
|
|
|
|
|
|
|
|
RUN apk --update --no-cache add \
|
|
|
|
tzdata ca-certificates curl openssl
|
|
|
|
|
|
|
|
COPY --from=builder /gosrv /
|
|
|
|
COPY --from=builder /static /static
|
|
|
|
COPY --from=builder /templates /templates
|
|
|
|
|
2019-07-07 12:52:55 -08:00
|
|
|
ARG service
|
|
|
|
ENV SERVICE_NAME $service
|
|
|
|
|
|
|
|
ARG env="dev"
|
|
|
|
ENV ENV $env
|
|
|
|
|
2019-05-25 08:26:37 -05:00
|
|
|
ARG gogc="20"
|
2019-05-23 19:40:29 -05:00
|
|
|
ENV GOGC $gogc
|
|
|
|
|
|
|
|
ENTRYPOINT ["/gosrv"]
|