summaryrefslogtreecommitdiffstats
path: root/jjb/releng/opnfv-docker.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/releng/opnfv-docker.yaml')
-rw-r--r--jjb/releng/opnfv-docker.yaml370
1 files changed, 370 insertions, 0 deletions
diff --git a/jjb/releng/opnfv-docker.yaml b/jjb/releng/opnfv-docker.yaml
new file mode 100644
index 000000000..b7d1ce66f
--- /dev/null
+++ b/jjb/releng/opnfv-docker.yaml
@@ -0,0 +1,370 @@
+---
+##############################################
+# 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
+ fraser: &fraser
+ stream: fraser
+ 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-collectd':
+ project: 'barometer'
+ dockerdir: 'docker/barometer-collectd'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-grafana':
+ project: 'barometer'
+ dockerdir: 'docker/barometer-grafana'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-influxdb':
+ project: 'barometer'
+ dockerdir: 'docker/barometer-influxdb'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-kafka':
+ project: 'barometer'
+ dockerdir: 'docker/barometer-kafka'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-ves':
+ project: 'barometer'
+ dockerdir: 'docker/barometer-ves'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-snmp':
+ project: 'barometer'
+ dockerdir: 'docker/barometer-snmp'
+ <<: *master
+ <<: *other-receivers
+ - 'bottlenecks':
+ project: 'bottlenecks'
+ <<: *master
+ <<: *other-receivers
+ - 'clover':
+ project: 'clover'
+ dockerdir: '.'
+ dockerfile: 'docker/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-ns-nginx-lb':
+ project: 'clover'
+ dockerdir: 'samples/services/nginx/docker'
+ dockerfile: 'subservices/lb/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-ns-nginx-proxy':
+ project: 'clover'
+ dockerdir: 'samples/services/nginx/docker'
+ dockerfile: 'subservices/proxy/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-ns-nginx-server':
+ project: 'clover'
+ dockerdir: 'samples/services/nginx/docker'
+ dockerfile: 'subservices/server/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-ns-snort-ids':
+ project: 'clover'
+ dockerdir: 'samples/services/snort_ids/docker'
+ dockerfile: 'Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'cperf':
+ project: 'cperf'
+ <<: *master
+ <<: *other-receivers
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *master
+ <<: *other-receivers
+ - 'nfvbench':
+ project: 'nfvbench'
+ <<: *master
+ <<: *other-receivers
+ - 'qtip':
+ project: 'qtip'
+ dockerdir: '.'
+ dockerfile: 'docker/Dockerfile.local'
+ <<: *master
+ <<: *other-receivers
+ - 'qtip-nettest':
+ project: 'qtip'
+ dockerdir: 'contrib/nettest'
+ <<: *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'
+ <<: *fraser
+ <<: *other-receivers
+ - 'qtip':
+ project: 'qtip'
+ dockerdir: '.'
+ dockerfile: 'docker/Dockerfile.local'
+ <<: *fraser
+ <<: *other-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ arch_tag: 'x86_64'
+ <<: *fraser
+ <<: *storperf-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ arch_tag: 'x86_64'
+ <<: *fraser
+ <<: *storperf-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ arch_tag: 'x86_64'
+ <<: *fraser
+ <<: *storperf-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ arch_tag: 'x86_64'
+ <<: *fraser
+ <<: *storperf-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ arch_tag: 'x86_64'
+ <<: *fraser
+ <<: *storperf-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *fraser
+ <<: *other-receivers
+ # projects with jobs for danube
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *danube
+ <<: *other-receivers
+ # projects with jobs for fraser
+ - 'bottlenecks':
+ project: 'bottlenecks'
+ <<: *fraser
+ <<: *other-receivers
+ - 'clover':
+ project: 'clover'
+ dockerdir: '.'
+ dockerfile: 'docker/Dockerfile'
+ <<: *fraser
+ <<: *other-receivers
+ - 'clover-ns-nginx-lb':
+ project: 'clover'
+ dockerdir: 'samples/services/nginx/docker'
+ dockerfile: 'subservices/lb/Dockerfile'
+ <<: *fraser
+ <<: *other-receivers
+ - 'clover-ns-nginx-proxy':
+ project: 'clover'
+ dockerdir: 'samples/services/nginx/docker'
+ dockerfile: 'subservices/proxy/Dockerfile'
+ <<: *fraser
+ <<: *other-receivers
+ - 'clover-ns-nginx-server':
+ project: 'clover'
+ dockerdir: 'samples/services/nginx/docker'
+ dockerfile: 'subservices/server/Dockerfile'
+ <<: *fraser
+ <<: *other-receivers
+ - 'clover-ns-snort-ids':
+ project: 'clover'
+ dockerdir: 'samples/services/snort_ids/docker'
+ dockerfile: 'Dockerfile'
+ <<: *fraser
+ <<: *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: &parameters
+ - 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: GERRIT_REFNAME
+ default: ""
+ description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/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 * * * *"
+ - gerrit-trigger-tag-created:
+ project: '{project}'
+
+ 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/**'