--- ############################################## # 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 - 'barometer-collectd': project: 'barometer' dockerdir: 'docker/barometer-collectd' <<: *fraser <<: *other-receivers - 'barometer-grafana': project: 'barometer' dockerdir: 'docker/barometer-grafana' <<: *fraser <<: *other-receivers - 'barometer-influxdb': project: 'barometer' dockerdir: 'docker/barometer-influxdb' <<: *fraser <<: *other-receivers - 'barometer-kafka': project: 'barometer' dockerdir: 'docker/barometer-kafka' <<: *fraser <<: *other-receivers - 'barometer-ves': project: 'barometer' dockerdir: 'docker/barometer-ves' <<: *fraser <<: *other-receivers - 'barometer-snmp': project: 'barometer' dockerdir: 'docker/barometer-snmp' <<: *fraser <<: *other-receivers - '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: ¶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: 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/**'