Change docker image name for samplevnf to rapid
[releng.git] / jjb / releng / opnfv-docker.yaml
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     hunter: &hunter
15       stream: hunter
16       branch: 'stable/{stream}'
17       disabled: false
18     iruya: &iruya
19       stream: iruya
20       branch: 'stable/{stream}'
21       disabled: false
22     jerma: &jerma
23       stream: jerma
24       branch: 'stable/{stream}'
25       disabled: false
26     laas-receivers: &laas_receivers
27       receivers: >
28           pberberian@iol.unh.edu
29           sbergeron@iol.unh.edu
30     storperf-receivers: &storperf-receivers
31       receivers: >
32           mbeierl@vmware.com
33     samplevnf-receivers: &samplevnf-receivers
34       receivers: >
35           luc.provoost@intel.com
36           yury.kylulin@intel.com
37     other-receivers: &other-receivers
38       receivers: ''
39
40     dockerfile: "Dockerfile"
41     dockerdir: "docker"
42     arch_tag: ""
43     extra_build_args: ""
44
45     # This is the dockerhub repo the image will be pushed to as
46     # 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter.
47     # 'project' is the OPNFV repo we expect to contain the Dockerfile
48     # yamllint disable rule:key-duplicates
49     dockerrepo:
50       # projects with jobs for master
51       - 'releng-anteater':
52           project: 'releng-anteater'
53           <<: *master
54           <<: *other-receivers
55       - 'barometer-collectd':
56           project: 'barometer'
57           dockerdir: 'docker/barometer-collectd'
58           <<: *master
59           <<: *other-receivers
60       - 'barometer-collectd-experimental':
61           project: 'barometer'
62           dockerdir: '.'
63           dockerfile: 'docker/barometer-collectd-experimental/Dockerfile'
64           <<: *master
65           <<: *other-receivers
66       - 'barometer-collectd-latest':
67           project: 'barometer'
68           dockerdir: '.'
69           dockerfile: 'docker/barometer-collectd-latest/Dockerfile'
70           <<: *master
71           <<: *other-receivers
72       - 'barometer-dma':
73           project: 'barometer'
74           dockerdir: 'docker/barometer-dma'
75           <<: *master
76           <<: *other-receivers
77       - 'barometer-grafana':
78           project: 'barometer'
79           dockerdir: 'docker/barometer-grafana'
80           <<: *master
81           <<: *other-receivers
82       - 'barometer-influxdb':
83           project: 'barometer'
84           dockerdir: 'docker/barometer-influxdb'
85           <<: *master
86           <<: *other-receivers
87       - 'barometer-kafka':
88           project: 'barometer'
89           dockerdir: 'docker/barometer-kafka'
90           <<: *master
91           <<: *other-receivers
92       - 'barometer-ves':
93           project: 'barometer'
94           dockerdir: 'docker/barometer-ves'
95           <<: *master
96           <<: *other-receivers
97       - 'barometer-snmp':
98           project: 'barometer'
99           dockerdir: 'docker/barometer-snmp'
100           <<: *master
101           <<: *other-receivers
102       - 'clover':
103           project: 'clover'
104           dockerdir: '.'
105           dockerfile: 'docker/Dockerfile'
106           <<: *master
107           <<: *other-receivers
108       - 'clover-ns-nginx-lb':
109           project: 'clover'
110           dockerdir: 'samples/services/nginx/docker'
111           dockerfile: 'subservices/lb/Dockerfile'
112           <<: *master
113           <<: *other-receivers
114       - 'clover-ns-nginx-proxy':
115           project: 'clover'
116           dockerdir: 'samples/services/nginx/docker'
117           dockerfile: 'subservices/proxy/Dockerfile'
118           <<: *master
119           <<: *other-receivers
120       - 'clover-ns-nginx-server':
121           project: 'clover'
122           dockerdir: 'samples/services/nginx/docker'
123           dockerfile: 'subservices/server/Dockerfile'
124           <<: *master
125           <<: *other-receivers
126       - 'clover-ns-snort-ids':
127           project: 'clover'
128           dockerdir: 'samples/services/snort_ids/docker'
129           dockerfile: 'Dockerfile'
130           <<: *master
131           <<: *other-receivers
132       - 'clover-controller':
133           project: 'clover'
134           dockerdir: 'clover/controller'
135           dockerfile: 'docker/Dockerfile'
136           <<: *master
137           <<: *other-receivers
138       - 'clover-collector':
139           project: 'clover'
140           dockerdir: 'clover/collector'
141           dockerfile: 'docker/Dockerfile'
142           <<: *master
143           <<: *other-receivers
144       - 'clover-jmeter-master':
145           project: 'clover'
146           dockerdir: 'clover/tools/jmeter'
147           dockerfile: 'jmeter-master/Dockerfile'
148           <<: *master
149           <<: *other-receivers
150       - 'clover-jmeter-slave':
151           project: 'clover'
152           dockerdir: 'clover/tools/jmeter'
153           dockerfile: 'jmeter-slave/Dockerfile'
154           <<: *master
155           <<: *other-receivers
156       - 'clover-sample-app':
157           project: 'clover'
158           dockerdir: 'samples/scenarios/sample_app'
159           dockerfile: 'Dockerfile'
160           <<: *master
161           <<: *other-receivers
162       - 'clover-ns-modsecurity-crs':
163           project: 'clover'
164           dockerdir: 'samples/services/modsecurity/docker'
165           dockerfile: 'Dockerfile'
166           <<: *master
167           <<: *other-receivers
168       - 'clover-spark':
169           project: 'clover'
170           dockerdir: 'clover/spark/docker/clover-spark'
171           dockerfile: 'Dockerfile'
172           <<: *master
173           <<: *other-receivers
174       - 'clover-spark-submit':
175           project: 'clover'
176           dockerdir: 'clover/spark/docker/spark-submit'
177           dockerfile: 'Dockerfile'
178           <<: *master
179           <<: *other-receivers
180       - 'clover-clovisor':
181           project: 'clover'
182           dockerdir: 'clover/clovisor'
183           dockerfile: 'Dockerfile'
184           <<: *master
185           <<: *other-receivers
186       - 'dovetail':
187           project: 'dovetail'
188           <<: *master
189           <<: *other-receivers
190       - 'dovetail-webportal-api':
191           project: 'dovetail-webportal'
192           dockerfile: 'Dockerfile.api'
193           <<: *master
194           <<: *other-receivers
195       - 'dovetail-webportal-web':
196           project: 'dovetail-webportal'
197           dockerfile: 'Dockerfile.web'
198           <<: *master
199           <<: *other-receivers
200       - 'dovetail-webportal-web-onap':
201           project: 'dovetail-webportal'
202           dockerfile: 'Dockerfile.web'
203           extra_build_args: 'CONTAINER=onap GUI=onap-ui'
204           <<: *master
205           <<: *other-receivers
206       - 'nfvbench':
207           project: 'nfvbench'
208           <<: *master
209           <<: *other-receivers
210       - 'laas-dashboard':
211           project: 'laas'
212           dockerdir: '.'
213           dockerfile: 'web/Dockerfile'
214           <<: *master
215           <<: *laas_receivers
216       - 'laas-celery':
217           project: 'laas'
218           dockerdir: '.'
219           dockerfile: 'worker/Dockerfile'
220           <<: *master
221           <<: *laas_receivers
222       - 'storperf-master':
223           project: 'storperf'
224           dockerdir: 'docker/storperf-master'
225           arch_tag: 'x86_64'
226           <<: *master
227           <<: *storperf-receivers
228       - 'storperf-graphite':
229           project: 'storperf'
230           dockerdir: 'docker/storperf-graphite'
231           arch_tag: 'x86_64'
232           <<: *master
233           <<: *storperf-receivers
234       - 'storperf-httpfrontend':
235           project: 'storperf'
236           dockerdir: 'docker/storperf-httpfrontend'
237           arch_tag: 'x86_64'
238           <<: *master
239           <<: *storperf-receivers
240       - 'storperf-reporting':
241           project: 'storperf'
242           dockerdir: 'docker/storperf-reporting'
243           arch_tag: 'x86_64'
244           <<: *master
245           <<: *storperf-receivers
246       - 'storperf-swaggerui':
247           project: 'storperf'
248           dockerdir: 'docker/storperf-swaggerui'
249           arch_tag: 'x86_64'
250           <<: *master
251           <<: *storperf-receivers
252       - 'storperf-workloadagent':
253           project: 'storperf'
254           dockerdir: 'docker/storperf-workloadagent'
255           arch_tag: 'x86_64'
256           <<: *master
257           <<: *storperf-receivers
258       - 'rapid':
259           project: 'samplevnf'
260           dockerdir: 'VNFs/DPPD-PROX/helper-scripts/rapid'
261           <<: *master
262           <<: *samplevnf-receivers
263
264       # projects with jobs for hunter
265       - 'dovetail':
266           project: 'dovetail'
267           <<: *hunter
268           <<: *other-receivers
269
270       # projects with jobs for iruya
271       - 'storperf-master':
272           project: 'storperf'
273           dockerdir: 'docker/storperf-master'
274           arch_tag: 'x86_64'
275           <<: *iruya
276           <<: *storperf-receivers
277       - 'storperf-graphite':
278           project: 'storperf'
279           dockerdir: 'docker/storperf-graphite'
280           arch_tag: 'x86_64'
281           <<: *iruya
282           <<: *storperf-receivers
283       - 'storperf-httpfrontend':
284           project: 'storperf'
285           dockerdir: 'docker/storperf-httpfrontend'
286           arch_tag: 'x86_64'
287           <<: *iruya
288           <<: *storperf-receivers
289       - 'storperf-reporting':
290           project: 'storperf'
291           dockerdir: 'docker/storperf-reporting'
292           arch_tag: 'x86_64'
293           <<: *iruya
294           <<: *storperf-receivers
295       - 'storperf-swaggerui':
296           project: 'storperf'
297           dockerdir: 'docker/storperf-swaggerui'
298           arch_tag: 'x86_64'
299           <<: *iruya
300           <<: *storperf-receivers
301       - 'storperf-workloadagent':
302           project: 'storperf'
303           dockerdir: 'docker/storperf-workloadagent'
304           arch_tag: 'x86_64'
305           <<: *iruya
306           <<: *storperf-receivers
307
308       # projects with jobs for jerma
309       - 'barometer-collectd':
310           project: 'barometer'
311           dockerdir: 'docker/barometer-collectd'
312           <<: *jerma
313           <<: *other-receivers
314       - 'barometer-collectd-experimental':
315           project: 'barometer'
316           dockerdir: '.'
317           dockerfile: 'docker/barometer-collectd-experimental/Dockerfile'
318           <<: *jerma
319           <<: *other-receivers
320       - 'barometer-collectd-latest':
321           project: 'barometer'
322           dockerdir: '.'
323           dockerfile: 'docker/barometer-collectd-latest/Dockerfile'
324           <<: *jerma
325           <<: *other-receivers
326       - 'barometer-dma':
327           project: 'barometer'
328           dockerdir: 'docker/barometer-dma'
329           <<: *jerma
330           <<: *other-receivers
331       - 'barometer-grafana':
332           project: 'barometer'
333           dockerdir: 'docker/barometer-grafana'
334           <<: *jerma
335           <<: *other-receivers
336       - 'barometer-influxdb':
337           project: 'barometer'
338           dockerdir: 'docker/barometer-influxdb'
339           <<: *jerma
340           <<: *other-receivers
341       - 'barometer-kafka':
342           project: 'barometer'
343           dockerdir: 'docker/barometer-kafka'
344           <<: *jerma
345           <<: *other-receivers
346       - 'barometer-ves':
347           project: 'barometer'
348           dockerdir: 'docker/barometer-ves'
349           <<: *jerma
350           <<: *other-receivers
351       - 'barometer-snmp':
352           project: 'barometer'
353           dockerdir: 'docker/barometer-snmp'
354           <<: *jerma
355           <<: *other-receivers
356
357     # yamllint enable rule:key-duplicates
358     jobs:
359       - "{dockerrepo}-docker-build-push-{stream}"
360
361 ########################
362 # job templates
363 ########################
364 - job-template:
365     name: '{dockerrepo}-docker-build-push-{stream}'
366
367     disabled: '{obj:disabled}'
368
369     parameters: &parameters
370       - project-parameter:
371           project: '{project}'
372           branch: '{branch}'
373       - 'opnfv-build-ubuntu-defaults'
374       - string:
375           name: PUSH_IMAGE
376           default: "true"
377           description: "To enable/disable pushing the image to Dockerhub."
378       - string:
379           name: DOCKER_REPO_NAME
380           default: "opnfv/{dockerrepo}"
381           description: "Dockerhub repo to be pushed to."
382       - string:
383           name: DOCKER_DIR
384           default: "{dockerdir}"
385           description: "Directory containing files needed by the Dockerfile"
386       - string:
387           name: COMMIT_ID
388           default: ""
389           description: "commit id to make a snapshot docker image"
390       - string:
391           name: GERRIT_REFNAME
392           default: ""
393           description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
394       - string:
395           name: DOCKERFILE
396           default: "{dockerfile}"
397           description: "Dockerfile to use for creating the image."
398       - string:
399           name: ARCH_TAG
400           default: "{arch_tag}"
401           description: "If set, this value will be added to the docker image tag as a prefix"
402       - string:
403           name: EXTRA_BUILD_ARGS
404           default: "{extra_build_args}"
405           description: "Whitespace separated key=value pairs. If set, these args will be used to build docker image"
406
407     properties:
408       - throttle:
409           max-per-node: 1
410           option: 'project'
411
412     scm:
413       - git-scm
414
415     builders: &builders
416       - shell:
417           !include-raw-escape: ./opnfv-docker.sh
418
419     triggers:
420       - pollscm:
421           cron: "*/30 * * * *"
422       - gerrit-trigger-tag-created:
423           project: '{project}'
424
425     publishers:
426       - email:
427           recipients: '{receivers}'
428       - email-jenkins-admins-on-failure