| 12345678910111213141516171819202122232425262728293031323334353637 |
- # syntax=docker/dockerfile:1.1.7-experimental
- # Base Go environment
- # -------------------
- # pinned because of https://github.com/moby/moby/issues/45935
- FROM golang:1.20.5-alpine as base
- WORKDIR /porter
- RUN apk update && apk add --no-cache gcc musl-dev git
- COPY go.mod go.sum ./
- COPY /cmd ./cmd
- COPY /internal ./internal
- COPY /api ./api
- COPY /ee ./ee
- COPY /pkg ./pkg
- RUN --mount=type=cache,target=$GOPATH/pkg/mod \
- go mod download
- # Go build environment
- # --------------------
- FROM base AS build-go
- ARG version=production
- RUN --mount=type=cache,target=/root/.cache/go-build \
- --mount=type=cache,target=$GOPATH/pkg/mod \
- go build -ldflags '-w -s' -a -tags ee -o ./bin/migrate ./cmd/migrate
- # Deployment environment
- # ----------------------
- FROM alpine
- RUN apk update
- COPY --from=build-go /porter/bin/migrate /porter/
- CMD /porter/migrate
|