From c135a795c8fb8e7e6952fa3a8702e765cef7e584 Mon Sep 17 00:00:00 2001 From: mbeierl Date: Tue, 12 Sep 2017 14:25:57 -0400 Subject: [PATCH] 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 --- jjb/releng/opnfv-docker-arm.yml | 64 ++++++++++++++++++++++++++++++++++++++--- jjb/releng/opnfv-docker.sh | 7 +++++ jjb/releng/opnfv-docker.yml | 24 ++++++++++++---- 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 -- 2.16.6