barometer: add aditional docker images to build
[releng.git] / jjb / releng / opnfv-docker.yml
1 ---
2 ##############################################
3 # job configuration for docker build and push
4 ##############################################
5
6 - project:
7
8     name: opnfv-docker
9
10     master: &master
11       stream: master
12       branch: '{stream}'
13       disabled: false
14     danube: &danube
15       stream: danube
16       branch: 'stable/{stream}'
17       disabled: false
18     euphrates: &euphrates
19       stream: euphrates
20       branch: 'stable/{stream}'
21       disabled: false
22     storperf-receivers: &storperf-receivers
23       receivers: >
24           mark.beierl@emc.com
25     other-receivers: &other-receivers
26       receivers: ''
27
28     dockerfile: "Dockerfile"
29     dockerdir: "docker"
30     arch_tag: ""
31
32     # This is the dockerhub repo the image will be pushed to as
33     # 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter.
34     # 'project' is the OPNFV repo we expect to contain the Dockerfile
35     # yamllint disable rule:key-duplicates
36     dockerrepo:
37       # projects with jobs for master
38       - 'releng-anteater':
39           project: 'releng-anteater'
40           <<: *master
41           <<: *other-receivers
42       - 'barometer':
43           project: 'barometer'
44           dockerdir: '.'
45           dockerfile: 'docker/Dockerfile'
46           <<: *master
47           <<: *other-receivers
48       - 'barometer-grafana':
49           project: 'barometer'
50           dockerdir: '.'
51           dockerfile: 'docker/barometer-grafana/Dockerfile'
52           <<: *master
53           <<: *other-receivers
54       - 'barometer-influxdb':
55           project: 'barometer'
56           dockerdir: '.'
57           dockerfile: 'docker/barometer-influxdb/Dockerfile'
58           <<: *master
59           <<: *other-receivers
60       - 'barometer-kafka':
61           project: 'barometer'
62           dockerdir: '.'
63           dockerfile: 'docker/barometer-kafka/Dockerfile'
64           <<: *master
65           <<: *other-receivers
66       - 'barometer-ves':
67           project: 'barometer'
68           dockerdir: '.'
69           dockerfile: 'docker/barometer-ves/Dockerfile'
70           <<: *master
71           <<: *other-receivers
72       - 'bottlenecks':
73           project: 'bottlenecks'
74           <<: *master
75           <<: *other-receivers
76       - 'cperf':
77           project: 'cperf'
78           <<: *master
79           <<: *other-receivers
80       - 'dovetail':
81           project: 'dovetail'
82           <<: *master
83           <<: *other-receivers
84       - 'nfvbench':
85           project: 'nfvbench'
86           <<: *master
87           <<: *other-receivers
88       - 'qtip':
89           project: 'qtip'
90           dockerdir: '.'
91           dockerfile: 'docker/Dockerfile.local'
92           <<: *master
93           <<: *other-receivers
94       - 'storperf-master':
95           project: 'storperf'
96           dockerdir: 'docker/storperf-master'
97           arch_tag: 'x86_64'
98           <<: *master
99           <<: *storperf-receivers
100       - 'storperf-graphite':
101           project: 'storperf'
102           dockerdir: 'docker/storperf-graphite'
103           arch_tag: 'x86_64'
104           <<: *master
105           <<: *storperf-receivers
106       - 'storperf-httpfrontend':
107           project: 'storperf'
108           dockerdir: 'docker/storperf-httpfrontend'
109           arch_tag: 'x86_64'
110           <<: *master
111           <<: *storperf-receivers
112       - 'storperf-reporting':
113           project: 'storperf'
114           dockerdir: 'docker/storperf-reporting'
115           arch_tag: 'x86_64'
116           <<: *master
117           <<: *storperf-receivers
118       - 'storperf-swaggerui':
119           project: 'storperf'
120           dockerdir: 'docker/storperf-swaggerui'
121           arch_tag: 'x86_64'
122           <<: *master
123           <<: *storperf-receivers
124       - 'yardstick':
125           project: 'yardstick'
126           <<: *master
127           <<: *other-receivers
128       # projects with jobs for euphrates
129       - 'bottlenecks':
130           project: 'bottlenecks'
131           <<: *euphrates
132           <<: *other-receivers
133       - 'nfvbench':
134           project: 'nfvbench'
135           <<: *euphrates
136           <<: *other-receivers
137       - 'qtip':
138           project: 'qtip'
139           <<: *euphrates
140           <<: *other-receivers
141       - 'storperf-master':
142           project: 'storperf'
143           dockerdir: 'docker/storperf-master'
144           arch_tag: 'x86_64'
145           <<: *euphrates
146           <<: *storperf-receivers
147       - 'storperf-graphite':
148           project: 'storperf'
149           dockerdir: 'docker/storperf-graphite'
150           arch_tag: 'x86_64'
151           <<: *euphrates
152           <<: *storperf-receivers
153       - 'storperf-httpfrontend':
154           project: 'storperf'
155           dockerdir: 'docker/storperf-httpfrontend'
156           arch_tag: 'x86_64'
157           <<: *euphrates
158           <<: *storperf-receivers
159       - 'storperf-reporting':
160           project: 'storperf'
161           dockerdir: 'docker/storperf-reporting'
162           arch_tag: 'x86_64'
163           <<: *euphrates
164           <<: *storperf-receivers
165       - 'storperf-swaggerui':
166           project: 'storperf'
167           dockerdir: 'docker/storperf-swaggerui'
168           arch_tag: 'x86_64'
169           <<: *euphrates
170           <<: *storperf-receivers
171       - 'yardstick':
172           project: 'yardstick'
173           <<: *euphrates
174           <<: *other-receivers
175       # projects with jobs for danube
176       - 'dovetail':
177           project: 'dovetail'
178           <<: *danube
179           <<: *other-receivers
180
181     # yamllint enable rule:key-duplicates
182     jobs:
183       - "{dockerrepo}-docker-build-push-{stream}"
184
185 - project:
186
187     name: opnfv-monitor-docker        # projects which only monitor dedicated file or path
188
189     dockerfile: "Dockerfile"
190     dockerdir: "docker"
191     arch_tag: ""
192
193     project:
194       # projects with jobs for master
195       - 'daisy':
196           dockerrepo: 'daisy'
197           <<: *master
198       - 'escalator':
199           dockerrepo: 'escalator'
200           <<: *master
201
202     jobs:
203       - '{project}-docker-build-push-monitor-{stream}'
204
205 ########################
206 # job templates
207 ########################
208 - job-template:
209     name: '{dockerrepo}-docker-build-push-{stream}'
210
211     disabled: '{obj:disabled}'
212
213     parameters: &parameters
214       - project-parameter:
215           project: '{project}'
216           branch: '{branch}'
217       - 'opnfv-build-ubuntu-defaults'
218       - string:
219           name: PUSH_IMAGE
220           default: "true"
221           description: "To enable/disable pushing the image to Dockerhub."
222       - string:
223           name: DOCKER_REPO_NAME
224           default: "opnfv/{dockerrepo}"
225           description: "Dockerhub repo to be pushed to."
226       - string:
227           name: DOCKER_DIR
228           default: "{dockerdir}"
229           description: "Directory containing files needed by the Dockerfile"
230       - string:
231           name: COMMIT_ID
232           default: ""
233           description: "commit id to make a snapshot docker image"
234       - string:
235           name: RELEASE_VERSION
236           default: ""
237           description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
238       - string:
239           name: DOCKERFILE
240           default: "{dockerfile}"
241           description: "Dockerfile to use for creating the image."
242       - string:
243           name: ARCH_TAG
244           default: "{arch_tag}"
245           description: "If set, this value will be added to the docker image tag as a prefix"
246
247     properties:
248       - throttle:
249           max-per-node: 1
250           option: 'project'
251
252     scm:
253       - git-scm
254
255     builders: &builders
256       - shell:
257           !include-raw-escape: ./opnfv-docker.sh
258
259     triggers:
260       - pollscm:
261           cron: "*/30 * * * *"
262
263     publishers:
264       - email:
265           recipients: '{receivers}'
266       - email-jenkins-admins-on-failure
267
268 - job-template:
269     name: '{project}-docker-build-push-monitor-{stream}'
270     disabled: '{obj:disabled}'
271     parameters: *parameters
272
273     scm:
274       - git-scm
275
276     builders: *builders
277
278     # trigger only matching the file name
279     triggers:
280       - gerrit:
281           trigger-on:
282             - change-merged-event
283             - comment-added-contains-event:
284                 comment-contains-value: 'remerge'
285           projects:
286             - project-compare-type: 'ANT'
287               project-pattern: '{project}'
288               branches:
289                 - branch-compare-type: 'ANT'
290                   branch-pattern: '**/{branch}'
291               file-paths:
292                 - compare-type: ANT
293                   pattern: 'docker/**'