diff options
-rw-r--r-- | jenkins-common.sh | 12 | ||||
-rw-r--r-- | make/Makefile | 3 |
2 files changed, 13 insertions, 2 deletions
diff --git a/jenkins-common.sh b/jenkins-common.sh index 2c4288e..a703a05 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -3,11 +3,21 @@ docker_image_exists() { } docker_images_require() { + local from_line + local pull_arg + for i in $@; do # Trigger image build (cache will be used when up-to-date) if [ -z "$NO_DOCKER_IMAGE_BUILD" ]; then + # Pull upstream base images + pull_arg="--pull" + from_line="$(grep '^FROM' ../$i/Dockerfile)" + if echo "$from_line" | grep -q '$USER'; then + pull_arg="" + fi + echo "Building image: $i (export NO_DOCKER_IMAGE_BUILD=1 to prevent this)" - make -C "../$i" || exit 1 + PULL="$pull_arg" make -C "../$i" || exit 1 fi # Detect missing images (build skipped) diff --git a/make/Makefile b/make/Makefile index 2321fcf..d4e3c22 100644 --- a/make/Makefile +++ b/make/Makefile @@ -17,6 +17,7 @@ REGISTRY_HOST?=docker.io USERNAME?=$(USER) NAME?=$(shell basename $(CURDIR)) OSMO_TTCN3_BRANCH?=master +PULL?=$(PULL) RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-release-support IMAGE?=$(REGISTRY_HOST)/$(USER)/$(NAME) @@ -41,7 +42,7 @@ post-push: docker-build: .release docker build --build-arg USER=$(USERNAME) --build-arg OSMO_TTCN3_BRANCH=$(OSMO_TTCN3_BRANCH) \ - -t $(IMAGE):latest . + $(PULL) -t $(IMAGE):latest . @DOCKER_MAJOR=$(shell docker -v | sed -e 's/.*version //' -e 's/,.*//' | cut -d\. -f1) ; \ DOCKER_MINOR=$(shell docker -v | sed -e 's/.*version //' -e 's/,.*//' | cut -d\. -f2) ; \ |