Split build into NodeJS and Go parts

Go docker image uses old nodejs, split build into 2 stages so we can have better control over used nodejs and Go images
This commit is contained in:
Łukasz Mierzwa
2017-12-04 22:03:11 -08:00
parent 3e6343daa9
commit ffa0caf6eb

View File

@@ -1,11 +1,15 @@
FROM golang:1.9.2-alpine3.6 as unsee-builder
COPY . /go/src/github.com/cloudflare/unsee
FROM node:8-alpine as nodejs-builder
RUN apk add --update make git
COPY . /unsee
RUN make -C /unsee webpack
FROM golang:1.9.2-alpine3.6 as go-builder
COPY --from=nodejs-builder /unsee /go/src/github.com/cloudflare/unsee
ARG VERSION
RUN apk add --update make git nodejs nodejs-npm
RUN apk add --update make git
RUN CGO_ENABLED=0 make -C /go/src/github.com/cloudflare/unsee VERSION="${VERSION:-dev}" unsee
FROM gcr.io/distroless/base
COPY --from=unsee-builder /go/src/github.com/cloudflare/unsee/unsee /unsee
COPY --from=go-builder /go/src/github.com/cloudflare/unsee/unsee /unsee
EXPOSE 8080
CMD ["/unsee"]