From f7c2b9d94a503554838426f728ae3cdf39166ecf Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Fri, 6 Apr 2018 12:51:12 +0300 Subject: [PATCH] Add multi-build Docker file for GCR CI --- Dockerfile.ci | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Dockerfile.ci diff --git a/Dockerfile.ci b/Dockerfile.ci new file mode 100644 index 0000000..3492a81 --- /dev/null +++ b/Dockerfile.ci @@ -0,0 +1,32 @@ +FROM golang:1.9 as builder + +RUN mkdir -p /go/src/github.com/stefanprodan/k8s-podinfo/ + +WORKDIR /go/src/github.com/stefanprodan/k8s-podinfo + +COPY . . + +RUN go test $(go list ./... | grep -v integration | grep -v /vendor/ | grep -v /template/) -cover + +RUN gofmt -l -d $(find . -type f -name '*.go' -not -path "./vendor/*") && \ + GIT_COMMIT=$(git rev-list -1 HEAD) && \ + CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w \ + -X github.com/stefanprodan/k8s-podinfo/pkg/version.GITCOMMIT=${GIT_COMMIT}" \ + -a -installsuffix cgo -o podinfo ./cmd/podinfo + +FROM alpine:3.7 + +RUN addgroup -S app \ + && adduser -S -g app app \ + && apk --no-cache add \ + curl openssl netcat-openbsd + +WORKDIR /home/app + +COPY --from=builder /go/src/github.com/stefanprodan/k8s-podinfo/podinfo . + +RUN chown -R app:app ./ + +USER app + +CMD ["./podinfo"]