From eeb6782f0f441b3634ebe3dfc585baea2864ac7f Mon Sep 17 00:00:00 2001 From: Mathias Kaufmann Date: Wed, 14 Mar 2018 00:10:00 +0100 Subject: [PATCH] Added make targets to build and push docker images Usage: `make docker-image` to build the image `make docker-image-push` to build and push the image Signed-off-by: Mathias Kaufmann --- Dockerfile | 4 ++-- GNUmakefile | 3 ++- common.mk | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1bb5e5b..9708ce4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,9 +2,9 @@ FROM golang:1.10 AS goircd-builder ARG PACKAGE=github.com/bbusse/goircd ENV PACKAGE=$PACKAGE -WORKDIR /go/src/github.com/bbusse/goircd/ +WORKDIR /go/src/$PACKAGE/ -ADD . /go/src/github.com/bbusse/goircd/ +ADD . /go/src/$PACKAGE/ RUN export CGO_ENABLED=0 \ && go get $PACKAGE \ diff --git a/GNUmakefile b/GNUmakefile index 04d452d..c7aeb93 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,3 +1,4 @@ VERSION = $(shell git describe --tags) +PACKAGE ?= quay.io/goircd/goircd -include common.mk +include common.mk \ No newline at end of file diff --git a/common.mk b/common.mk index 888e048..ed5b175 100644 --- a/common.mk +++ b/common.mk @@ -2,3 +2,17 @@ LDFLAGS = -X main.version=$(VERSION) goircd: *.go go build -ldflags "$(LDFLAGS)" + +docker-image: *.go Dockerfile .dockerignore + docker build -t $(shell basename $(PACKAGE)):$(VERSION) . + +docker-image-push: docker-image-push-latest docker-image-push-version + @true + +docker-image-push-version: docker-image-push-latest docker-image-push-version + docker tag $(shell basename $(PACKAGE)):$(VERSION) $(PACKAGE):$(VERSION) + docker push $(PACKAGE):$(VERSION) + +docker-image-push-latest: docker-image + docker tag $(shell basename $(PACKAGE)):$(VERSION) $(PACKAGE):latest + docker push $(PACKAGE):latest