Optional Architecture Specific Push
[releng.git] / jjb / releng / opnfv-docker-arm.yml
1 ##############################################
2 # job configuration for docker build and push
3 ##############################################
4
5 - project:
6
7     name: opnfv-docker-arm
8
9     master: &master
10         stream: master
11         branch: '{stream}'
12         disabled: false
13     danube: &danube
14         stream: danube
15         branch: 'stable/{stream}'
16         disabled: false
17     functest-arm-receivers: &functest-arm-receivers
18         receivers: >
19             cristina.pauna@enea.com
20             alexandru.avadanii@enea.com
21     dovetail-arm-receivers: &dovetail-arm-receivers
22         receivers: >
23             cristina.pauna@enea.com
24             alexandru.avadanii@enea.com
25             alexandru.nemes@enea.com
26     storperf-arm-receivers: &storperf-arm-receivers
27         receivers: >
28             cristina.pauna@enea.com
29             alexandru.avadanii@enea.com
30             mark.beierl@emc.com
31     yardstick-arm-receivers: &yardstick-arm-receivers
32         receivers: >
33             cristina.pauna@enea.com
34             alexandru.avadanii@enea.com
35             alexandru.nemes@enea.com
36             catalina.focsa@enea.com
37     other-receivers: &other-receivers
38         receivers: ''
39
40     dockerfile: "Dockerfile.aarch64"
41     dockerdir: "docker"
42     arch_tag: ""
43
44     dockerrepo:
45         # projects with jobs for master
46         - 'functest':
47             project: 'functest'
48             <<: *master
49             <<: *functest-arm-receivers
50         - 'dovetail':
51             project: 'dovetail'
52             <<: *master
53             <<: *dovetail-arm-receivers
54         - 'storperf-master':
55             project: 'storperf'
56             dockerdir: 'docker/storperf-master'
57             dockerfile: 'Dockerfile'
58             docker_repo_name: 'opnfv/storperf-master'
59             arch_tag: 'aarch64'
60             <<: *master
61             <<: *storperf-arm-receivers
62         - 'storperf-graphite':
63             project: 'storperf'
64             dockerdir: 'docker/storperf-graphite'
65             dockerfile: 'Dockerfile'
66             docker_repo_name: 'opnfv/storperf-graphite'
67             arch_tag: 'aarch64'
68             <<: *master
69             <<: *storperf-arm-receivers
70         - 'storperf-httpfrontend':
71             project: 'storperf'
72             dockerdir: 'docker/storperf-httpfrontend'
73             dockerfile: 'Dockerfile'
74             docker_repo_name: 'opnfv/storperf-httpfrontend'
75             arch_tag: 'aarch64'
76             <<: *master
77             <<: *storperf-arm-receivers
78         - 'storperf-reporting':
79             project: 'storperf'
80             dockerdir: 'docker/storperf-reporting'
81             dockerfile: 'Dockerfile'
82             docker_repo_name: 'opnfv/storperf-reporting'
83             arch_tag: 'aarch64'
84             <<: *master
85             <<: *storperf-arm-receivers
86         - 'storperf-swaggerui':
87             project: 'storperf'
88             dockerdir: 'docker/storperf-swaggerui'
89             dockerfile: 'Dockerfile'
90             docker_repo_name: 'opnfv/storperf-swaggerui'
91             arch_tag: 'aarch64'
92             <<: *master
93             <<: *storperf-arm-receivers
94         - 'yardstick':
95             project: 'yardstick'
96             <<: *master
97             <<: *yardstick-arm-receivers
98         # projects with jobs for stable
99
100     jobs:
101         - '{dockerrepo}-docker-build-arm-push-{stream}'
102
103 ########################
104 # job templates
105 ########################
106 - job-template:
107     name: '{dockerrepo}-docker-build-arm-push-{stream}'
108
109     disabled: '{obj:disabled}'
110
111     parameters: &parameters
112         - project-parameter:
113             project: '{project}'
114             branch: '{branch}'
115         - 'opnfv-build-ubuntu-arm-defaults'
116         - string:
117             name: PUSH_IMAGE
118             default: "true"
119             description: "To enable/disable pushing the image to Dockerhub."
120         - string:
121             name: DOCKER_REPO_NAME
122             default: "opnfv/{project}_aarch64"
123             description: "Dockerhub repo to be pushed to."
124         - string:
125             name: RELEASE_VERSION
126             default: ""
127             description: "Release version, e.g. 1.0, 2.0, 3.0"
128         - string:
129             name: DOCKER_DIR
130             default: "docker"
131             description: "Directory containing files needed by the Dockerfile"
132         - string:
133             name: DOCKERFILE
134             default: "{dockerfile}"
135             description: "Dockerfile to use for creating the image."
136         - string:
137             name: ARCH_TAG
138             default: "{arch_tag}"
139             description: "If set, this value will be added to the docker image tag"
140
141     scm:
142         - git-scm
143
144     builders: &builders
145         - shell:
146             !include-raw-escape: ./opnfv-docker.sh
147
148     triggers:
149         - pollscm:
150             cron: "*/30 * * * *"
151
152     publishers:
153         - email:
154             recipients: '{receivers}'
155         - email-jenkins-admins-on-failure