From 1de7a9e0e52104e451b9ce5aabf039a9f6286ee6 Mon Sep 17 00:00:00 2001 From: Serguei Bezverkhi Date: Thu, 15 Feb 2018 11:10:48 -0500 Subject: [PATCH] image generation and version fix --- Dockerfile | 2 +- Dockerfile.builder | 2 +- Makefile | 47 ++++++++++++++++++----------------------- hack/build-container.sh | 3 ++- 4 files changed, 25 insertions(+), 29 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5b15994e14..49a4874344 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,5 +2,5 @@ FROM alpine LABEL maintainers="Kubernetes Authors" LABEL description="CSI External Provisioner" -COPY csi-provisioner csi-provisioner +COPY ./deploy/docker/csi-provisioner csi-provisioner ENTRYPOINT ["/csi-provisioner"] diff --git a/Dockerfile.builder b/Dockerfile.builder index 148c30db4f..9ddf44d0b3 100644 --- a/Dockerfile.builder +++ b/Dockerfile.builder @@ -5,4 +5,4 @@ LABEL description="CSI External Provisioner" WORKDIR /go/src/github.com/kubernetes-csi/external-provisioner COPY . . RUN cd cmd/csi-provisioner && \ - go install + CGO_ENABLED=0 GOOS=linux go install -a -ldflags '-extldflags "-static"' -o ./bin/csi-provisioner ./cmd/csi-provisioner diff --git a/Makefile b/Makefile index f378ef5b8f..9d69591e19 100644 --- a/Makefile +++ b/Makefile @@ -12,36 +12,31 @@ # See the License for the specific language governing permissions and # limitations under the License. -IMAGE = k8scsi/csi-provisioner -VERSION = v0.2.0 +IMAGE_NAME = quay.io/k8scsi/csi-provisioner +IMAGE_VERSION = v0.2.0 -container: build quick-container -.PHONY: container +ifdef V +TESTARGS = -v -args -alsologtostderr -v 5 +else +TESTARGS = +endif -clean: - rm -f external-provisioner - rm -rf _output -.PHONY: clean - -format: - gofmt -w -s ./ -.PHONY: format +all: csi-provisioner -deps: - dep ensure -update -.PHONY: deps +csi-provisioner: + mkdir -p bin + CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o ./bin/csi-provisioner ./cmd/csi-provisioner -quick-container: - sudo ./hack/build-container.sh - @echo "" - @echo "Container quay.io/k8scsi/csi-provisioner:canary created" -.PHONY: quick-container +clean: + rm -rf bin deploy/docker/csi-provisioner -provisioner: - mkdir -p _output - go build -i -o _output/csi-provisioner ./cmd/csi-provisioner/ -.PHONY: provisioner +container: csi-provisioner + cp bin/csi-provisioner deploy/docker + docker build -t $(IMAGE_NAME):$(IMAGE_VERSION) . -all build: provisioner +push: container + docker push $(IMAGE_NAME):$(IMAGE_VERSION) -.PHONY: all build +test: + go test `go list ./... | grep -v 'vendor'` $(TESTARGS) + go vet `go list ./... | grep -v vendor` diff --git a/hack/build-container.sh b/hack/build-container.sh index 00631a2d09..8f51684da1 100755 --- a/hack/build-container.sh +++ b/hack/build-container.sh @@ -1,7 +1,8 @@ #!/bin/sh NAME=csi-provisioner -TAG=canary +VER=$1 +TAG="${VER:-canary}" CONTAINER=quay.io/k8scsi/${NAME}:${TAG} APP=csi-provisioner