ifndef TAG $(error The TAG variable is missing.) endif # Docker Hub namespace HUB_NAMESPACE="invoiceninja" # Image name IMAGE="invoiceninja" # Check if v5 tag is passed, so that a v5 version should be built IS_V5=$(shell echo ${TAG} | egrep ^5) # Version of Invoice Ninja. As the tag can be something like 5.0.4-p1, the version is 5.0.4. # This supports changes to the Dockerfiles with always the same Invoice Ninja version VERSION=$(shell echo ${TAG} | sed "s/-.*//") # Building docker images based on alpine. # Assigned tags: # - :4 # - : .PHONY: build-alpine build-alpine: ifeq ($(IS_V5),) $(info Make: Building "$(VERSION)" tagged images from alpine.) @docker build -t ${HUB_NAMESPACE}/${IMAGE}:${VERSION} --build-arg INVOICENINJA_VERSION=${VERSION} ./alpine/4/ # Tag as 4 @docker tag ${HUB_NAMESPACE}/${IMAGE}:alpine-${VERSION} ${HUB_NAMESPACE}/${IMAGE}:4 $(info Make: Done.) endif .PHONY: push-alpine push-alpine: ifeq ($(IS_V5),) $(info Make: Pushing tagged images from alpine.) @docker push ${HUB_NAMESPACE}/${IMAGE}:${VERSION} @docker push ${HUB_NAMESPACE}/${IMAGE}:4 $(info Make: Done.) endif .PHONY: build-alpine-v5 build-alpine-v5: ifneq ($(IS_V5),) $(info Make: Building "$(VERSION)" tagged images from alpine.) @docker build -t ${HUB_NAMESPACE}/${IMAGE}:${VERSION} --build-arg INVOICENINJA_VERSION=${VERSION} ./alpine/5/ @docker tag ${HUB_NAMESPACE}/${IMAGE}:${VERSION} ${HUB_NAMESPACE}/${IMAGE}:5 @docker tag ${HUB_NAMESPACE}/${IMAGE}:${VERSION} ${HUB_NAMESPACE}/${IMAGE}:latest $(info Make: Done.) endif .PHONY: push-alpine-v5 push-alpine-v5: ifneq ($(IS_V5),) $(info Make: Pushing tagged images from alpine.) @docker push ${HUB_NAMESPACE}/${IMAGE}:${VERSION} @docker push ${HUB_NAMESPACE}/${IMAGE}:5 @docker push ${HUB_NAMESPACE}/${IMAGE}:latest endif