summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
authormbeierl <mark.beierl@dell.com>2017-09-12 14:25:57 -0400
committerAric Gardner <agardner@linuxfoundation.org>2017-09-13 16:55:01 +0000
commitc135a795c8fb8e7e6952fa3a8702e765cef7e584 (patch)
treec576083099f26a8dd0081e2d9cc62de0314558b4 /jjb
parentf675cd5e395e4d48d9ad895f5eb2f4a8b6098b13 (diff)
Optional Architecture Specific Push
Enables optional argument to specify the architecture to use when building and pushing the image. If project defines it, the arch is added to the docker version like so: arch-version. This matches the tag convention used by multiarch/alpine. Change-Id: I699c2aba05c55291b5f8c48bcc1daacceae6154b JIRA: STORPERF-210 Signed-off-by: mbeierl <mark.beierl@dell.com>
Diffstat (limited to 'jjb')
-rw-r--r--jjb/releng/opnfv-docker-arm.yml64
-rw-r--r--jjb/releng/opnfv-docker.sh7
-rw-r--r--jjb/releng/opnfv-docker.yml24
3 files changed, 86 insertions, 9 deletions
diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml
index 842d4967d..ec1d743b9 100644
--- a/jjb/releng/opnfv-docker-arm.yml
+++ b/jjb/releng/opnfv-docker-arm.yml
@@ -23,6 +23,11 @@
cristina.pauna@enea.com
alexandru.avadanii@enea.com
alexandru.nemes@enea.com
+ storperf-arm-receivers: &storperf-arm-receivers
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ mark.beierl@emc.com
yardstick-arm-receivers: &yardstick-arm-receivers
receivers: >
cristina.pauna@enea.com
@@ -32,27 +37,74 @@
other-receivers: &other-receivers
receivers: ''
- project:
+ dockerfile: "Dockerfile.aarch64"
+ dockerdir: "docker"
+ arch_tag: ""
+
+ dockerrepo:
# projects with jobs for master
- 'functest':
+ project: 'functest'
<<: *master
<<: *functest-arm-receivers
- 'dovetail':
+ project: 'dovetail'
<<: *master
<<: *dovetail-arm-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-master'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-graphite'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-httpfrontend'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-reporting'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-swaggerui'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
- 'yardstick':
+ project: 'yardstick'
<<: *master
<<: *yardstick-arm-receivers
# projects with jobs for stable
jobs:
- - '{project}-docker-build-arm-push-{stream}'
+ - '{dockerrepo}-docker-build-arm-push-{stream}'
########################
# job templates
########################
- job-template:
- name: '{project}-docker-build-arm-push-{stream}'
+ name: '{dockerrepo}-docker-build-arm-push-{stream}'
disabled: '{obj:disabled}'
@@ -79,8 +131,12 @@
description: "Directory containing files needed by the Dockerfile"
- string:
name: DOCKERFILE
- default: "Dockerfile.aarch64"
+ default: "{dockerfile}"
description: "Dockerfile to use for creating the image."
+ - string:
+ name: ARCH_TAG
+ default: "{arch_tag}"
+ description: "If set, this value will be added to the docker image tag"
scm:
- git-scm
diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh
index 0de3df28e..6ca8e374c 100644
--- a/jjb/releng/opnfv-docker.sh
+++ b/jjb/releng/opnfv-docker.sh
@@ -89,11 +89,18 @@ if [[ -n "${COMMIT_ID-}" && -n "${RELEASE_VERSION-}" ]]; then
BUILD_BRANCH=$COMMIT_ID
fi
+ARCH_BUILD_ARG=""
+if [[ -n "${ARCH_TAG}" ]]; then
+ DOCKER_TAG=${ARCH_TAG}-${DOCKER_TAG}
+ ARCH_BUILD_ARG="--build-arg ARCH=${ARCH_TAG}"
+fi
+
# Start the build
echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG"
echo "--------------------------------------------------------"
echo
cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$BUILD_BRANCH
+ $ARCH_BUILD_ARG
-f $DOCKERFILE ."
echo ${cmd}
diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml
index 5b63f3a12..649591562 100644
--- a/jjb/releng/opnfv-docker.yml
+++ b/jjb/releng/opnfv-docker.yml
@@ -20,11 +20,15 @@
cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
yaohelan@huawei.com helanyao@gmail.com
juha.kosonen@nokia.com
+ storperf-receivers: &storperf-receivers
+ receivers: >
+ mark.beierl@emc.com
other-receivers: &other-receivers
receivers: ''
dockerfile: "Dockerfile"
dockerdir: "docker"
+ arch_tag: ""
# This is the dockerhub repo the image will be pushed to as
# 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter.
@@ -62,28 +66,33 @@
- 'storperf-master':
project: 'storperf'
dockerdir: 'docker/storperf-master'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'storperf-graphite':
project: 'storperf'
dockerdir: 'docker/storperf-graphite'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'storperf-httpfrontend':
project: 'storperf'
dockerdir: 'docker/storperf-httpfrontend'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'storperf-reporting':
project: 'storperf'
dockerdir: 'docker/storperf-reporting'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'storperf-swaggerui':
project: 'storperf'
dockerdir: 'docker/storperf-swaggerui'
+ arch_tag: 'x86_64'
<<: *master
- <<: *other-receivers
+ <<: *storperf-receivers
- 'yardstick':
project: 'yardstick'
<<: *master
@@ -120,6 +129,7 @@
dockerfile: "Dockerfile"
dockerdir: "docker"
+ arch_tag: ""
project:
# projects with jobs for master
@@ -170,6 +180,10 @@
name: DOCKERFILE
default: "{dockerfile}"
description: "Dockerfile to use for creating the image."
+ - string:
+ name: ARCH_TAG
+ default: "{arch_tag}"
+ description: "If set, this value will be added to the docker image tag as a prefix"
scm:
- git-scm