--- ############################################## # job configuration for docker build and push ############################################## - project: name: opnfv-docker master: &master stream: master branch: '{stream}' disabled: false danube: &danube stream: danube branch: 'stable/{stream}' disabled: false euphrates: &euphrates stream: euphrates branch: 'stable/{stream}' disabled: false 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. # 'project' is the OPNFV repo we expect to contain the Dockerfile # yamllint disable rule:key-duplicates dockerrepo: # projects with jobs for master - 'releng-anteater': project: 'releng-anteater' <<: *master <<: *other-receivers - 'barometer': project: 'barometer' <<: *master <<: *other-receivers - 'bottlenecks': project: 'bottlenecks' <<: *master <<: *other-receivers - 'cperf': project: 'cperf' <<: *master <<: *other-receivers - 'dovetail': project: 'dovetail' <<: *master <<: *other-receivers - 'nfvbench': project: 'nfvbench' <<: *master <<: *other-receivers - 'qtip': project: 'qtip' <<: *master <<: *other-receivers - 'storperf-master': project: 'storperf' dockerdir: 'docker/storperf-master' arch_tag: 'x86_64' <<: *master <<: *storperf-receivers - 'storperf-graphite': project: 'storperf' dockerdir: 'docker/storperf-graphite' arch_tag: 'x86_64' <<: *master <<: *storperf-receivers - 'storperf-httpfrontend': project: 'storperf' dockerdir: 'docker/storperf-httpfrontend' arch_tag: 'x86_64' <<: *master <<: *storperf-receivers - 'storperf-reporting': project: 'storperf' dockerdir: 'docker/storperf-reporting' arch_tag: 'x86_64' <<: *master <<: *storperf-receivers - 'storperf-swaggerui': project: 'storperf' dockerdir: 'docker/storperf-swaggerui' arch_tag: 'x86_64' <<: *master <<: *storperf-receivers - 'yardstick': project: 'yardstick' <<: *master <<: *other-receivers # projects with jobs for euphrates - 'bottlenecks': project: 'bottlenecks' <<: *euphrates <<: *other-receivers - 'nfvbench': project: 'nfvbench' <<: *euphrates <<: *other-receivers - 'qtip': project: 'qtip' <<: *euphrates <<: *other-receivers - 'storperf-master': project: 'storperf' dockerdir: 'docker/storperf-master' arch_tag: 'x86_64' <<: *euphrates <<: *storperf-receivers - 'storperf-graphite': project: 'storperf' dockerdir: 'docker/storperf-graphite' arch_tag: 'x86_64' <<: *euphrates <<: *storperf-receivers - 'storperf-httpfrontend': project: 'storperf' dockerdir: 'docker/storperf-httpfrontend' arch_tag: 'x86_64' <<: *euphrates <<: *storperf-receivers - 'storperf-reporting': project: 'storperf' dockerdir: 'docker/storperf-reporting' arch_tag: 'x86_64' <<: *euphrates <<: *storperf-receivers - 'storperf-swaggerui': project: 'storperf' dockerdir: 'docker/storperf-swaggerui' arch_tag: 'x86_64' <<: *euphrates <<: *storperf-receivers - 'yardstick': project: 'yardstick' <<: *euphrates <<: *other-receivers # yamllint enable rule:key-duplicates jobs: - "{dockerrepo}-docker-build-push-{stream}" - project: name: opnfv-monitor-docker # projects which only monitor dedicated file or path dockerfile: "Dockerfile" dockerdir: "docker" arch_tag: "" project: # projects with jobs for master - 'daisy': dockerrepo: 'daisy' <<: *master - 'escalator': dockerrepo: 'escalator' <<: *master jobs: - '{project}-docker-build-push-monitor-{stream}' ######################## # job templates ######################## - job-template: name: '{dockerrepo}-docker-build-push-{stream}' disabled: '{obj:disabled}' parameters: ¶meters - project-parameter: project: '{project}' branch: '{branch}' - 'opnfv-build-ubuntu-defaults' - string: name: PUSH_IMAGE default: "true" description: "To enable/disable pushing the image to Dockerhub." - string: name: DOCKER_REPO_NAME default: "opnfv/{dockerrepo}" description: "Dockerhub repo to be pushed to." - string: name: DOCKER_DIR default: "{dockerdir}" description: "Directory containing files needed by the Dockerfile" - string: name: COMMIT_ID default: "" description: "commit id to make a snapshot docker image" - string: name: RELEASE_VERSION default: "" description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1" - 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 as a prefix" properties: - throttle: max-per-node: 1 option: 'project' scm: - git-scm builders: &builders - shell: !include-raw-escape: ./opnfv-docker.sh triggers: - pollscm: cron: "*/30 * * * *" publishers: - email: recipients: '{receivers}' - email-jenkins-admins-on-failure - job-template: name: '{project}-docker-build-push-monitor-{stream}' disabled: '{obj:disabled}' parameters: *parameters scm: - git-scm builders: *builders # trigger only matching the file name triggers: - gerrit: trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT pattern: 'docker/**'