+---
##############################################
# job configuration for docker build and push
##############################################
name: opnfv-docker-arm
master: &master
- stream: master
- branch: '{stream}'
- disabled: false
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- disabled: false
- functest-arm-receivers: &functest-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
+ stream: master
+ branch: '{stream}'
+ disabled: false
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
dovetail-arm-receivers: &dovetail-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- alexandru.nemes@enea.com
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@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
+ alexandru.avadanii@enea.com
+ delia.popescu@enea.com
other-receivers: &other-receivers
- receivers: ''
+ receivers: ''
- project:
- # projects with jobs for master
- - 'functest':
- <<: *master
- <<: *functest-arm-receivers
- - 'dovetail':
- <<: *master
- <<: *dovetail-arm-receivers
- # projects with jobs for stable
+ dockerfile: "Dockerfile"
+ dockerdir: "docker"
+ docker_repo_name: "opnfv/{project}_aarch64"
+ arch_tag: ""
+ # yamllint disable rule:key-duplicates
+ dockerrepo:
+ # projects with jobs for master
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *master
+ <<: *dovetail-arm-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ docker_repo_name: 'opnfv/storperf-master'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ docker_repo_name: 'opnfv/storperf-graphite'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ docker_repo_name: 'opnfv/storperf-httpfrontend'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ docker_repo_name: 'opnfv/storperf-reporting'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ 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/euphrates
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *euphrates
+ <<: *dovetail-arm-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ docker_repo_name: 'opnfv/storperf-master'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ docker_repo_name: 'opnfv/storperf-graphite'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ docker_repo_name: 'opnfv/storperf-httpfrontend'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ docker_repo_name: 'opnfv/storperf-reporting'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ docker_repo_name: 'opnfv/storperf-swaggerui'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *euphrates
+ <<: *yardstick-arm-receivers
+
+ # yamllint enable rule:key-duplicates
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}'
parameters: ¶meters
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-arm-defaults'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: DOCKER_REPO_NAME
- default: "opnfv/{project}_aarch64"
- description: "Dockerhub repo to be pushed to."
- - string:
- name: RELEASE_VERSION
- default: ""
- description: "Release version, e.g. 1.0, 2.0, 3.0"
- - string:
- name: DOCKER_DIR
- default: "docker"
- description: "Directory containing files needed by the Dockerfile"
- - string:
- name: DOCKERFILE
- default: "Dockerfile.aarch64"
- description: "Dockerfile to use for creating the image."
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-arm-defaults'
+ - string:
+ name: PUSH_IMAGE
+ default: "true"
+ description: "To enable/disable pushing the image to Dockerhub."
+ - string:
+ name: DOCKER_REPO_NAME
+ default: "{docker_repo_name}"
+ description: "Dockerhub repo to be pushed to."
+ - string:
+ name: RELEASE_VERSION
+ default: ""
+ description: "Release version, e.g. 1.0, 2.0, 3.0"
+ - string:
+ name: DOCKER_DIR
+ default: "{dockerdir}"
+ description: "Directory containing files needed by the Dockerfile"
+ - string:
+ 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"
+
+ properties:
+ - throttle:
+ max-per-node: 1
+ option: 'project'
scm:
- - git-scm
+ - git-scm
builders: &builders
- - shell:
- !include-raw-escape: ./opnfv-docker.sh
+ - shell:
+ !include-raw-escape: ./opnfv-docker.sh
triggers:
- - pollscm:
- cron: "*/30 * * * *"
+ - pollscm:
+ cron: "*/30 * * * *"
publishers:
- - email:
- recipients: '{receivers}'
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: '{receivers}'
+ - email-jenkins-admins-on-failure