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"]