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