Initial commit

This commit is contained in:
NortPerm
2023-10-30 15:21:12 +03:00
committed by GitHub
commit 13e2575b4e
149 changed files with 3961 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
# Собираем в гошке
FROM golang:1.19 as build
ENV BIN_FILE /opt/calendar/calendar-app
ENV CODE_DIR /go/src/
WORKDIR ${CODE_DIR}
# Кэшируем слои с модулями
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . ${CODE_DIR}
# Собираем статический бинарник Go (без зависимостей на Си API),
# иначе он не будет работать в alpine образе.
ARG LDFLAGS
RUN CGO_ENABLED=0 go build \
-ldflags "$LDFLAGS" \
-o ${BIN_FILE} cmd/calendar/*
# На выходе тонкий образ
FROM alpine:3.9
LABEL ORGANIZATION="OTUS Online Education"
LABEL SERVICE="calendar"
LABEL MAINTAINERS="student@otus.ru"
ENV BIN_FILE "/opt/calendar/calendar-app"
COPY --from=build ${BIN_FILE} ${BIN_FILE}
ENV CONFIG_FILE /etc/calendar/config.toml
COPY ./configs/config.toml ${CONFIG_FILE}
CMD ${BIN_FILE} -config ${CONFIG_FILE}