Commit f75207c2 by Chavee Issariyapat

add function to manipulate docker image

parent 0ef7e2e9
# a helper shell script # a helper shell script
MAKE_VERSION=1.1.2 MAKE_VERSION=1.1.3
define MAKEFUNCTIONCODE define MAKEFUNCTIONCODE
function hasChanges() { function hasChanges() {
...@@ -106,8 +106,25 @@ TAG=$(shell . $(RELEASE_SUPPORT); getTag) ...@@ -106,8 +106,25 @@ TAG=$(shell . $(RELEASE_SUPPORT); getTag)
RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-function RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-function
export MAKEFUNCTIONCODE export MAKEFUNCTIONCODE
# If the first argument is "run"...
doit=
ifeq (rmi,$(firstword $(MAKECMDGOALS)))
doit=true
endif
ifeq (images,$(firstword $(MAKECMDGOALS)))
doit=true
endif
ifdef doit
# use the rest as arguments for "run"
RMI_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
# ...and turn them into do-nothing targets
$(eval $(RMI_ARGS):;@:)
endif
.PHONY: pre-build docker-build post-build build release patch-release minor-release major-release tag check-status check-release showtag show-tag \ .PHONY: pre-build docker-build post-build build release patch-release minor-release major-release tag check-status check-release showtag show-tag \
push do-push post-push post-init update-make push do-push post-push post-init update-make rmi images
init: init:
@echo "$$MAKEFUNCTIONCODE" > ./.make-function @echo "$$MAKEFUNCTIONCODE" > ./.make-function
...@@ -141,6 +158,10 @@ release: check-status check-release build push ...@@ -141,6 +158,10 @@ release: check-status check-release build push
push: init do-push post-push push: init do-push post-push
rmi: delete-docker-image
images: list-docker-image
do-push: do-push:
docker push $(IMAGE):$(VERSION) docker push $(IMAGE):$(VERSION)
docker push $(IMAGE):latest docker push $(IMAGE):latest
...@@ -200,3 +221,11 @@ update-make: init ...@@ -200,3 +221,11 @@ update-make: init
make-version: make-version:
@echo $(MAKE_VERSION) @echo $(MAKE_VERSION)
# awk to cut the column 3, xargs to run command passing arg from pipe
delete-docker-image:
@docker images | grep $(RMI_ARGS) | awk '{print $$3}' | xargs docker rmi || true
# || true to force exoit code to 0 otherwise if no line matched, make will show some error
list-docker-image:
@docker images | grep $(RMI_ARGS) || true
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment