Refactoring
This commit is contained in:
15
deploy/docker/Dockerfile.builder
Normal file
15
deploy/docker/Dockerfile.builder
Normal file
@@ -0,0 +1,15 @@
|
||||
# Builder
|
||||
FROM golang:alpine
|
||||
|
||||
ARG BIN_OUTPUT=/go/bin
|
||||
ARG GO_SERVER=cmd/server/main.go
|
||||
ARG GO_CHRONOS=cmd/scheduler/main.go
|
||||
ARG GO_MIGRATE=cmd/migrate/main.go
|
||||
|
||||
WORKDIR /go/src/app
|
||||
COPY src/ ./
|
||||
|
||||
RUN export CGO_ENABLED=0 ; export GOOS=linux ; export GOARCH=amd64 && \
|
||||
go build -ldflags="-w -s" -o "$BIN_OUTPUT/server" $GO_SERVER && \
|
||||
go build -ldflags="-w -s" -o "$BIN_OUTPUT/scheduler" $GO_CHRONOS && \
|
||||
go build -ldflags="-w -s" -o "$BIN_OUTPUT/migrate" $GO_MIGRATE
|
||||
33
deploy/docker/Dockerfile.target
Normal file
33
deploy/docker/Dockerfile.target
Normal file
@@ -0,0 +1,33 @@
|
||||
# Builder
|
||||
ARG BUILDER_IMAGE
|
||||
FROM ${BUILDER_IMAGE} AS builder
|
||||
|
||||
# Destination image - server
|
||||
# FROM gcr.io/distroless/base-debian10
|
||||
FROM alpine:3.22
|
||||
|
||||
ARG SVC_NAME
|
||||
ARG SVC_VER
|
||||
ARG BUILD_TIME
|
||||
|
||||
LABEL dev.egommerce.image.author="Piotr Biernat"
|
||||
LABEL dev.egommerce.image.vendor="Egommerce"
|
||||
LABEL dev.egommerce.image.service=${SVC_NAME}
|
||||
LABEL dev.egommerce.image.version=${SVC_VER}
|
||||
LABEL dev.egommerce.image.build_time=${BUILD_TIME}
|
||||
|
||||
WORKDIR /
|
||||
|
||||
COPY --from=builder /go/bin/server /usr/local/bin/server
|
||||
COPY --from=builder /go/bin/migrate /usr/local/bin/migrate
|
||||
COPY --from=builder /go/bin/scheduler /usr/local/bin/scheduler
|
||||
|
||||
COPY deploy/.env.docker /.env
|
||||
COPY ./bin/* /usr/local/bin/
|
||||
|
||||
RUN chmod 755 /usr/local/bin/entrypoint.sh /usr/local/bin/migrate.sh
|
||||
|
||||
EXPOSE 443
|
||||
|
||||
ENTRYPOINT ["entrypoint.sh"]
|
||||
CMD ["sh", "-c", "/usr/local/bin/server"]
|
||||
Reference in New Issue
Block a user