stream: master
branch: '{stream}'
disabled: false
- colorado: &colorado
- stream: colorado
+ danube: &danube
+ stream: danube
branch: 'stable/{stream}'
disabled: false
+ functest-receivers: &functest-receivers
+ receivers: >
+ jose.lausuch@ericsson.com morgan.richomme@orange.com
+ cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
+ yaohelan@huawei.com helanyao@gmail.com
+ juha.kosonen@nokia.com
+ other-receivers: &other-receivers
+ receivers: ''
- project:
+ dockerfile: "Dockerfile"
+ dockerdir: "docker"
+
+ # 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
+ dockerrepo:
# projects with jobs for master
+ - 'releng-anteater':
+ project: 'releng-anteater'
+ <<: *master
+ <<: *other-receivers
- 'bottlenecks':
+ project: 'bottlenecks'
<<: *master
+ <<: *other-receivers
- 'cperf':
+ project: 'cperf'
<<: *master
+ <<: *other-receivers
- 'dovetail':
+ project: 'dovetail'
<<: *master
+ <<: *other-receivers
- 'functest':
+ project: 'functest'
<<: *master
+ <<: *functest-receivers
- 'qtip':
+ project: 'qtip'
<<: *master
- - 'storperf':
+ <<: *other-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
<<: *master
+ <<: *other-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ <<: *master
+ <<: *other-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ <<: *master
+ <<: *other-receivers
- 'yardstick':
+ project: 'yardstick'
<<: *master
+ <<: *other-receivers
# projects with jobs for stable
- 'bottlenecks':
- <<: *colorado
+ project: 'bottlenecks'
+ <<: *danube
+ <<: *other-receivers
- 'functest':
- <<: *colorado
+ project: 'functest'
+ <<: *danube
+ <<: *functest-receivers
+ - 'qtip':
+ project: 'qtip'
+ <<: *danube
+ <<: *other-receivers
- 'storperf':
- <<: *colorado
+ project: 'storperf'
+ <<: *danube
+ <<: *other-receivers
- 'yardstick':
- <<: *colorado
+ project: 'yardstick'
+ <<: *danube
+ <<: *other-receivers
jobs:
- - '{project}-docker-build-push-{stream}'
+ - "{dockerrepo}-docker-build-push-{stream}"
+
+- project:
+
+ name: opnfv-monitor-docker # projects which only monitor dedicated file or path
+
+ dockerfile: "Dockerfile"
+ dockerdir: "docker"
+
+ 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: '{project}-docker-build-push-{stream}'
+ name: '{dockerrepo}-docker-build-push-{stream}'
disabled: '{obj:disabled}'
- parameters:
+ parameters: ¶meters
- project-parameter:
project: '{project}'
+ branch: '{branch}'
- 'opnfv-build-ubuntu-defaults'
- string:
name: PUSH_IMAGE
description: "To enable/disable pushing the image to Dockerhub."
- string:
name: DOCKER_REPO_NAME
- default: "opnfv/{project}"
+ 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: "Release version, e.g. 1.0, 2.0, 3.0"
+ - string:
+ name: DOCKERFILE
+ default: "{dockerfile}"
+ description: "Dockerfile to use for creating the image."
scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
+ - git-scm
- builders:
+ builders: &builders
- shell:
!include-raw-escape: ./opnfv-docker.sh
- 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/**'
+