diff options
Diffstat (limited to 'jjb/releng/opnfv-docker.yaml')
-rw-r--r-- | jjb/releng/opnfv-docker.yaml | 370 |
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: ¶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/**' |