postgres_exporter/Makefile

36 lines
1.1 KiB
Makefile
Raw Normal View History

GO_SRC := $(shell find -type f -name "*.go")
CONTAINER_NAME ?= wrouesnel/postgres_exporter:latest
all: vet test postgres_exporter
# Simple go build
postgres_exporter: $(GO_SRC)
CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-extldflags '-static' -X main.Version=git:$(shell git rev-parse HEAD)" -o postgres_exporter .
# Take a go build and turn it into a minimal container
docker: postgres_exporter
tar -cf - postgres_exporter | docker import --change "EXPOSE 9113" \
--change 'ENTRYPOINT [ "/postgres_exporter" ]' \
- $(CONTAINER_NAME)
vet:
go vet .
test:
go test -v .
# Do a self-contained docker build - we pull the official upstream container,
# then template out a dockerfile which builds the real image.
docker-build: postgres_exporter
docker run -v $(shell pwd):/go/src/github.com/wrouesnel/postgres_exporter \
-w /go/src/github.com/wrouesnel/postgres_exporter \
golang:1.6-wheezy \
/bin/bash -c "make >&2 && tar -cf - ./postgres_exporter" | \
docker import --change "EXPOSE 9113" \
--change 'ENTRYPOINT [ "/postgres_exporter" ]' \
- $(CONTAINER_NAME)
.PHONY: docker-build docker test vet