2020-11-02 20:22:59 +13:00
|
|
|
# development image
|
2021-12-19 21:08:22 -08:00
|
|
|
FROM golang:1.17 as dev
|
2019-09-18 22:30:59 +12:00
|
|
|
WORKDIR /src
|
2015-11-25 10:57:58 -08:00
|
|
|
|
2018-01-22 20:38:40 -08:00
|
|
|
# install database clients
|
|
|
|
|
RUN apt-get update \
|
2019-09-18 22:30:59 +12:00
|
|
|
&& apt-get install -qq --no-install-recommends \
|
|
|
|
|
curl \
|
2021-12-19 21:08:22 -08:00
|
|
|
file \
|
|
|
|
|
mariadb-client \
|
2018-01-22 20:38:40 -08:00
|
|
|
postgresql-client \
|
|
|
|
|
sqlite3 \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
2019-09-18 22:30:59 +12:00
|
|
|
# golangci-lint
|
2021-04-07 13:51:50 -07:00
|
|
|
RUN curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh \
|
2021-12-20 10:29:33 -08:00
|
|
|
| sh -s -- -b /usr/local/bin v1.43.0
|
2015-11-25 10:57:58 -08:00
|
|
|
|
2019-09-18 22:30:59 +12:00
|
|
|
# download modules
|
2021-12-19 21:08:22 -08:00
|
|
|
COPY go.* /src/
|
2019-09-18 22:30:59 +12:00
|
|
|
RUN go mod download
|
2021-12-19 21:08:22 -08:00
|
|
|
COPY . /src/
|
2020-11-02 20:22:59 +13:00
|
|
|
RUN make build
|
|
|
|
|
|
|
|
|
|
# release stage
|
|
|
|
|
FROM alpine as release
|
2020-08-11 15:36:07 -07:00
|
|
|
RUN apk add --no-cache \
|
2020-11-02 20:22:59 +13:00
|
|
|
mariadb-client \
|
|
|
|
|
postgresql-client \
|
2021-04-03 01:34:22 +04:00
|
|
|
sqlite \
|
|
|
|
|
tzdata
|
2021-12-19 21:08:22 -08:00
|
|
|
COPY --from=dev /src/dist/dbmate /usr/local/bin/dbmate
|
|
|
|
|
ENTRYPOINT ["/usr/local/bin/dbmate"]
|