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 ./...