diff options
author | mbeierl <mark.beierl@dell.com> | 2017-09-12 14:25:57 -0400 |
---|---|---|
committer | Aric Gardner <agardner@linuxfoundation.org> | 2017-09-13 16:55:01 +0000 |
commit | c135a795c8fb8e7e6952fa3a8702e765cef7e584 (patch) | |
tree | c576083099f26a8dd0081e2d9cc62de0314558b4 | |
parent | f675cd5e395e4d48d9ad895f5eb2f4a8b6098b13 (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>
-rw-r--r-- | jjb/releng/opnfv-docker-arm.yml | 64 | ||||
-rw-r--r-- | jjb/releng/opnfv-docker.sh | 7 | ||||
-rw-r--r-- | 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 |