dev.Dockerfile 728 B

123456789101112131415161718192021222324252627282930313233343536
  1. # syntax=docker/dockerfile:1.1.7-experimental
  2. # Base Go environment
  3. # -------------------
  4. FROM golang:1.20 as base
  5. WORKDIR /porter
  6. RUN apt-get update && apt-get install -y gcc musl-dev git
  7. COPY go.mod go.sum Makefile ./
  8. COPY /cli ./cli
  9. COPY /internal ./internal
  10. COPY /api ./api
  11. COPY /ee ./ee
  12. COPY /pkg ./pkg
  13. COPY /provisioner ./provisioner
  14. RUN --mount=type=cache,target=$GOPATH/pkg/mod \
  15. go mod download
  16. # Go build environment
  17. # --------------------
  18. FROM base AS build-go
  19. ARG SENTRY_DSN
  20. RUN make build-cli-dev
  21. # Deployment environment
  22. # ----------------------
  23. FROM ubuntu:latest
  24. RUN apt-get update && apt-get install -y ca-certificates git
  25. COPY --from=build-go /porter/bin/porter /bin/porter
  26. ENTRYPOINT ["porter"]