aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jenkins-common.sh12
-rw-r--r--make/Makefile3
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) ; \