github.com/google/cloudprober@v0.11.3/Makefile (about) 1 VERSION ?= $(shell git describe --tags) 2 DOCKER_VERSION ?= $(VERSION) 3 GIT_COMMIT = $(strip $(shell git rev-parse --short HEAD)) 4 GOBIN ?= ${GOPATH}/bin 5 BINARY ?= cloudprober 6 DOCKER_IMAGE ?= cloudprober/cloudprober 7 CACERTS ?= /etc/ssl/certs/ca-certificates.crt 8 SOURCES := $(shell find . -name '*.go') 9 10 test: 11 go test -v -race -covermode=atomic ./... 12 13 $(BINARY): $(SOURCES) 14 CGO_ENABLED=0 go build -o cloudprober -ldflags "-X main.version=$(VERSION) -extldflags -static" ./cmd/cloudprober.go 15 16 ca-certificates.crt: $(CACERTS) 17 cp $(CACERTS) ca-certificates.crt 18 19 docker_build: $(BINARY) ca-certificates.crt Dockerfile 20 docker build \ 21 --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ 22 --build-arg VERSION=$(VERSION) \ 23 --build-arg VCS_REF=$(GIT_COMMIT) \ 24 -t $(DOCKER_IMAGE) . 25 26 docker_push: 27 docker tag $(DOCKER_IMAGE) $(DOCKER_IMAGE):$(DOCKER_VERSION) 28 docker login -u "${DOCKER_USER}" -p "${DOCKER_PASS}" 29 docker push $(DOCKER_IMAGE):$(DOCKER_VERSION) 30 31 docker_push_tagged: 32 docker tag $(DOCKER_IMAGE) $(DOCKER_IMAGE):$(DOCKER_VERSION) 33 docker tag $(DOCKER_IMAGE) $(DOCKER_IMAGE):latest 34 docker login -u "${DOCKER_USER}" -p "${DOCKER_PASS}" 35 docker image push --all-tags $(DOCKER_IMAGE) 36 37 install: 38 GOBIN=$(GOBIN) CGO_ENABLED=0 go install -ldflags "-X main.version=$(VERSION) -extldflags -static" ./cmd/cloudprober.go 39 40 clean: 41 rm cloudprober 42 go get -u ./...