add policy docker
[ci-management.git] / jjb / global-templates-java.yaml
1 ---
2 - job-template:
3     # Job template for Java verify jobs
4     #
5     # The purpose of this job template is to run "maven clean install" for
6     # projects using this template.
7     #
8     # Required Variables:
9     #     branch:    git branch (eg. stable/lithium or master)
10
11     name: '{project-name}-{stream}-verify-java-skip-tests'
12
13     project-type: freestyle
14     concurrent: true
15     node: '{build-node}'
16
17     properties:
18       - ecomp-infra-properties:
19           build-days-to-keep: '{build-days-to-keep}'
20
21     parameters:
22       - ecomp-infra-parameters:
23           project: '{project}'
24           branch: '{branch}'
25           refspec: 'refs/heads/{branch}'
26           artifacts: '{archive-artifacts}'
27
28     scm:
29       - gerrit-trigger-scm:
30           refspec: '$GERRIT_REFSPEC'
31           choosing-strategy: 'gerrit'
32
33     wrappers:
34       - ecomp-infra-wrappers:
35           build-timeout: '{build-timeout}'
36
37     triggers:
38       - gerrit-trigger-patch-submitted:
39           server: '{server-name}'
40           project: '{project}'
41           branch: '{branch}'
42           files: '**'
43
44     builders:
45       - provide-maven-settings:
46           global-settings-file: 'global-settings'
47           settings-file: '{mvn-settings}'
48       - maven-target:
49           maven-version: 'mvn33'
50           goals: 'clean install'
51           settings: '{mvn-settings}'
52           settings-type: cfp
53           global-settings: 'global-settings'
54           global-settings-type: cfp
55           maven-opts:
56             - maven.test.skip=true
57
58 #     publishers:
59 #       - ecomp-infra-shiplogs:
60 #           maven-version: 'mvn33'
61
62
63 - job-template:
64     # Job template for Java verify jobs
65     #
66     # The purpose of this job template is to run "maven clean install" for
67     # projects using this template.
68     #
69     # Required Variables:
70     #     branch:    git branch (eg. stable/lithium or master)
71
72     name: '{project-name}-{stream}-verify-java'
73
74     project-type: freestyle
75     concurrent: true
76     node: '{build-node}'
77
78     properties:
79       - ecomp-infra-properties:
80           build-days-to-keep: '{build-days-to-keep}'
81
82     parameters:
83       - ecomp-infra-parameters:
84           project: '{project}'
85           branch: '{branch}'
86           refspec: 'refs/heads/{branch}'
87           artifacts: '{archive-artifacts}'
88
89     scm:
90       - gerrit-trigger-scm:
91           refspec: '$GERRIT_REFSPEC'
92           choosing-strategy: 'gerrit'
93
94     wrappers:
95       - ecomp-infra-wrappers:
96           build-timeout: '{build-timeout}'
97
98     triggers:
99       - gerrit-trigger-patch-submitted:
100           server: '{server-name}'
101           project: '{project}'
102           branch: '{branch}'
103           files: '**'
104
105     builders:
106       - provide-maven-settings:
107           global-settings-file: 'global-settings'
108           settings-file: '{mvn-settings}'
109       - maven-target:
110           maven-version: 'mvn33'
111           goals: 'clean install'
112           settings: '{mvn-settings}'
113           settings-type: cfp
114           global-settings: 'global-settings'
115           global-settings-type: cfp
116
117 #     publishers:
118 #       - ecomp-infra-shiplogs:
119 #           maven-version: 'mvn33'
120
121 - job-template:
122     # Job template for Java verify jobs with POM not at the root
123     #
124     # The purpose of this job template is to run "maven clean install" for
125     # projects using this template.
126     #
127     # Required Variables:
128     #     branch:    git branch (eg. stable/lithium or master)
129     #     pom:       name/location of the pom.xml file relative to the workspace
130     #     pattern:   ant file-path pattern relative to the workspace used to
131     #                trigger the job
132
133     name: '{project-name}-{stream}-{subproject}-verify-java'
134
135     project-type: freestyle
136     concurrent: true
137     node: '{build-node}'
138
139     properties:
140       - ecomp-infra-properties:
141           build-days-to-keep: '{build-days-to-keep}'
142
143     parameters:
144       - ecomp-infra-parameters:
145           project: '{project}'
146           branch: '{branch}'
147           refspec: 'refs/heads/{branch}'
148           artifacts: '{archive-artifacts}'
149
150     scm:
151       - gerrit-trigger-scm:
152           refspec: '$GERRIT_REFSPEC'
153           choosing-strategy: 'gerrit'
154
155     wrappers:
156       - ecomp-infra-wrappers:
157           build-timeout: '{build-timeout}'
158
159     triggers:
160       - gerrit-trigger-patch-submitted:
161           server: '{server-name}'
162           project: '{project}'
163           branch: '{branch}'
164           files: '{pattern}'
165
166     builders:
167       - provide-maven-settings:
168           global-settings-file: 'global-settings'
169           settings-file: '{mvn-settings}'
170       - maven-target:
171           maven-version: 'mvn33'
172           pom: '{pom}'
173           goals: 'clean install'
174           settings: '{mvn-settings}'
175           settings-type: cfp
176           global-settings: 'global-settings'
177           global-settings-type: cfp
178
179 #     publishers:
180 #       - ecomp-infra-shiplogs:
181 #           maven-version: 'mvn33'
182
183 - job-template:
184     # Job template for Java daily release jobs
185     #
186     # The purpose of this job template is to run "maven version && maven clean
187     # deploy" for projects using this template.
188     #
189     # Required Variables:
190     #     branch:    git branch (eg. stable/lithium or master)
191     name: '{project-name}-{stream}-release-java-daily'
192
193     project-type: freestyle
194     node: '{build-node}'
195     maven-deploy-properties:
196     properties:
197       - ecomp-infra-properties:
198           build-days-to-keep: '{build-days-to-keep}'
199
200     parameters:
201       - ecomp-infra-parameters:
202           project: '{project}'
203           branch: '{branch}'
204           refspec: 'refs/heads/{branch}'
205           artifacts: '{archive-artifacts}'
206
207     scm:
208       - gerrit-trigger-scm:
209           refspec: ''
210           choosing-strategy: 'default'
211
212     wrappers:
213       - ecomp-infra-wrappers:
214           build-timeout: '{build-timeout}'
215
216     triggers:
217       # 11 AM UTC
218       - timed: 'H 11 * * *'
219       - gerrit-trigger-release-manually:
220           server: '{server-name}'
221           project: '{project}'
222           branch: '{branch}'
223
224     builders:
225       - provide-maven-settings:
226           global-settings-file: 'global-settings'
227           settings-file: '{mvn-settings}'
228
229       - inject:
230           properties-file: version.properties
231       - maven-target:
232           maven-version: 'mvn33'
233           goals: 'versions:set versions:update-child-modules versions:commit'
234           properties:
235             - 'newVersion=${{release_version}}'
236           settings: '{mvn-settings}'
237           settings-type: cfp
238           global-settings: 'global-settings'
239           global-settings-type: cfp
240
241       - maven-target:
242           maven-version: 'mvn33'
243           goals: 'clean deploy sonar:sonar -Dsonar.host.url=https://sonar.openecomp.org'
244           properties:
245             - '{maven-deploy-properties}'
246           settings: '{mvn-settings}'
247           settings-type: cfp
248           global-settings: 'global-settings'
249           global-settings-type: cfp
250
251 - job-template:
252     # Job template for Java daily release jobs with POM not at the root
253     #
254     # The purpose of this job template is to run "maven version && maven clean
255     # deploy" for projects using this template.
256     #
257     # Required Variables:
258     #     branch:    git branch (eg. stable/lithium or master)
259     #     pom:       name/location of the pom.xml file relative to the workspace
260
261
262     name: '{project-name}-{stream}-{subproject}-release-java-daily'
263
264     project-type: freestyle
265     node: '{build-node}'
266     maven-deploy-properties:
267     properties:
268       - ecomp-infra-properties:
269           build-days-to-keep: '{build-days-to-keep}'
270
271     parameters:
272       - ecomp-infra-parameters:
273           project: '{project}'
274           branch: '{branch}'
275           refspec: 'refs/heads/{branch}'
276           artifacts: '{archive-artifacts}'
277
278     scm:
279       - gerrit-trigger-scm:
280           refspec: ''
281           choosing-strategy: 'default'
282
283     wrappers:
284       - ecomp-infra-wrappers:
285           build-timeout: '{build-timeout}'
286
287     triggers:
288       # 11 AM UTC
289       - timed: 'H 11 * * *'
290       - gerrit-trigger-release-manually:
291           server: '{server-name}'
292           project: '{project}'
293           branch: '{branch}'
294
295     builders:
296       - provide-maven-settings:
297           global-settings-file: 'global-settings'
298           settings-file: '{mvn-settings}'
299
300       - maven-target:
301           maven-version: 'mvn33'
302           goals: 'clean deploy sonar:sonar -Dsonar.host.url=https://sonar.openecomp.org'
303           properties:
304             - '{maven-deploy-properties}'
305           settings: '{mvn-settings}'
306           settings-type: cfp
307           global-settings: 'global-settings'
308           global-settings-type: cfp
309
310 - job-template:
311     # Job template for Java merge jobs
312     #
313     # The purpose of this job template is to run "maven clean deploy" for
314     # projects using this template.
315     #
316     # Required Variables:
317     #     branch:    git branch (eg. stable/lithium or master)
318     name: '{project-name}-{stream}-merge-java'
319
320     project-type: freestyle
321     node: '{build-node}'
322
323     properties:
324       - ecomp-infra-properties:
325           build-days-to-keep: '{build-days-to-keep}'
326
327     parameters:
328       - ecomp-infra-parameters:
329           project: '{project}'
330           branch: '{branch}'
331           refspec: 'refs/heads/{branch}'
332           artifacts: '{archive-artifacts}'
333
334     scm:
335       - gerrit-trigger-scm:
336           refspec: ''
337           choosing-strategy: 'default'
338
339     wrappers:
340       - ecomp-infra-wrappers:
341           build-timeout: '{build-timeout}'
342
343     triggers:
344       - gerrit-trigger-patch-merged:
345           server: '{server-name}'
346           project: '{project}'
347           branch: '{branch}'
348           files: '**'
349
350     builders:
351       - provide-maven-settings:
352           global-settings-file: 'global-settings'
353           settings-file: '{mvn-settings}'
354       - maven-target:
355           maven-version: 'mvn33'
356           # yamllint disable rule:line-length
357           goals: 'clean deploy'
358           # yamllint enable
359           settings: '{mvn-settings}'
360           settings-type: cfp
361           global-settings: 'global-settings'
362           global-settings-type: cfp
363
364 #     publishers:
365 #       - ecomp-infra-shiplogs:
366 #           maven-version: 'mvn33'
367
368 - job-template:
369     # Job template for Java merge jobs that should also be triggered by upstream
370     # merges
371     #
372     # Required Variables:
373     #   stream:         release stream
374     #   branch:         git branch
375     #   dependencies:   fully qualified upstream job name to trigger on
376     #                   this may be ''
377     name: '{project-name}-{stream}-downstream-merge-java'
378
379     project-type: freestyle
380     node: '{build-node}'
381
382     properties:
383       - ecomp-infra-properties:
384           build-days-to-keep: '{build-days-to-keep}'
385
386     parameters:
387       - ecomp-infra-parameters:
388           project: '{project}'
389           branch: '{branch}'
390           refspec: 'refs/heads/{branch}'
391           artifacts: '{archive-artifacts}'
392
393     scm:
394       - gerrit-trigger-scm:
395           refspec: ''
396           choosing-strategy: 'default'
397
398     wrappers:
399       - ecomp-infra-wrappers:
400           build-timeout: '{build-timeout}'
401
402     triggers:
403       - reverse:
404           jobs: '{dependencies}'
405           result: 'success'
406       - gerrit-trigger-patch-merged:
407           server: '{server-name}'
408           project: '{project}'
409           branch: '{branch}'
410           files: '**'
411
412     builders:
413       - provide-maven-settings:
414           global-settings-file: 'global-settings'
415           settings-file: '{mvn-settings}'
416       - maven-target:
417           maven-version: 'mvn33'
418           # yamllint disable rule:line-length
419           goals: 'clean deploy'
420           # yamllint enable
421           settings: '{mvn-settings}'
422           settings-type: cfp
423           global-settings: 'global-settings'
424           global-settings-type: cfp
425
426 #     publishers:
427 #       - ecomp-infra-shiplogs:
428 #           maven-version: 'mvn33'
429
430 - job-template:
431     # Job template for Java merge jobs with POM not at the root
432     #
433     # The purpose of this job template is to run "maven clean deploy" for
434     # projects using this template.
435     #
436     # Required Variables:
437     #     branch:    git branch (eg. stable/lithium or master)
438     #     pom:       name/location of the pom.xml file relative to the workspace
439     #     pattern:   ant file-path pattern relative to the workspace used to
440     #                trigger the job
441
442     name: '{project-name}-{stream}-{subproject}-merge-java'
443
444     project-type: freestyle
445     node: '{build-node}'
446
447     properties:
448       - ecomp-infra-properties:
449           build-days-to-keep: '{build-days-to-keep}'
450
451     parameters:
452       - ecomp-infra-parameters:
453           project: '{project}'
454           branch: '{branch}'
455           refspec: 'refs/heads/{branch}'
456           artifacts: '{archive-artifacts}'
457
458     scm:
459       - gerrit-trigger-scm:
460           refspec: ''
461           choosing-strategy: 'default'
462
463     wrappers:
464       - ecomp-infra-wrappers:
465           build-timeout: '{build-timeout}'
466
467     triggers:
468       - gerrit-trigger-patch-merged:
469           server: '{server-name}'
470           project: '{project}'
471           branch: '{branch}'
472           files: '{pattern}'
473
474     builders:
475       - provide-maven-settings:
476           global-settings-file: 'global-settings'
477           settings-file: '{mvn-settings}'
478       - maven-target:
479           maven-version: 'mvn33'
480           pom: '{pom}'
481           # yamllint disable rule:line-length
482           goals: 'clean deploy'
483           # yamllint enable
484           settings: '{mvn-settings}'
485           settings-type: cfp
486           global-settings: 'global-settings'
487           global-settings-type: cfp
488
489 #     publishers:
490 #       - ecomp-infra-shiplogs:
491 #           maven-version: 'mvn33'
492
493 - job-template:
494     name: '{project-name}-{stream}-docker-java-daily'
495     project-type: freestyle
496     node: 'ubuntu1604-docker-8c-8g'
497
498     properties:
499       - ecomp-infra-properties:
500           build-days-to-keep: '{build-days-to-keep}'
501
502     parameters:
503       - ecomp-infra-parameters:
504           project: '{project}'
505           branch: '{branch}'
506           refspec: 'refs/heads/{branch}'
507           artifacts: '{archive-artifacts}'
508
509     scm:
510       - gerrit-trigger-scm:
511           refspec: ''
512           choosing-strategy: 'default'
513
514     wrappers:
515       - ecomp-infra-wrappers:
516           build-timeout: '{build-timeout}'
517
518     triggers:
519       # 12 AM UTC
520       - timed: 'H 12 * * *'
521       - gerrit-trigger-release-manually:
522           server: '{server-name}'
523           project: '{project}'
524           branch: '{branch}'
525
526     builders:
527
528       - provide-maven-settings:
529           global-settings-file: 'global-settings'
530           settings-file: '{mvn-settings}'
531
532       - docker-login
533
534       - maven-docker-push-daily:
535           mvn-settings: '{mvn-settings}'
536           pom: '{docker-pom}'
537           # use default as mvn-profile if profile is not needed
538           mvn-profile: '{mvn-profile}'
539
540 - job-template:
541     name: '{project-name}-{stream}-docker-java-shell-daily'
542     project-type: freestyle
543     node: 'ubuntu1604-docker-8c-8g'
544
545     properties:
546       - ecomp-infra-properties:
547           build-days-to-keep: '{build-days-to-keep}'
548
549     parameters:
550       - ecomp-infra-parameters:
551           project: '{project}'
552           branch: '{branch}'
553           refspec: 'refs/heads/{branch}'
554           artifacts: '{archive-artifacts}'
555
556     scm:
557       - gerrit-trigger-scm:
558           refspec: ''
559           choosing-strategy: 'default'
560
561     wrappers:
562       - ecomp-infra-wrappers:
563           build-timeout: '{build-timeout}'
564
565     triggers:
566       # 12 AM UTC
567       - timed: 'H 12 * * *'
568       - gerrit-trigger-release-manually:
569           server: '{server-name}'
570           project: '{project}'
571           branch: '{branch}'
572
573     builders:
574
575       - provide-maven-settings:
576           global-settings-file: 'global-settings'
577           settings-file: '{mvn-settings}'
578
579       - docker-login
580
581       - maven-docker-push-daily:
582           mvn-settings: '{mvn-settings}'
583           pom: '{docker-pom}'
584           # use default as mvn-profile if profile is not needed
585           mvn-profile: '{mvn-profile}'
586
587       - shell: '{script}'