Merge "move to docker node"
[ci-management.git] / jjb / global-templates-java.yaml
1 ---
2 - job-template: &verify_java_defaults
3     # Job template for Java verify jobs
4     #
5     # The purpose of this job template is to run:
6     # 1. maven clean install
7     #
8     # Required Variables:
9     #     branch:    git branch (eg. stable/lithium or master)
10
11     name: '{project-name}-{stream}-verify-java'
12
13     project-type: freestyle
14     concurrent: true
15     node: '{build-node}'
16     pattern: '**'
17     pom:
18
19     properties:
20       - infra-properties:
21           build-days-to-keep: '{build-days-to-keep}'
22
23     parameters:
24       - infra-parameters:
25           project: '{project}'
26           branch: '{branch}'
27           refspec: 'refs/heads/{branch}'
28           artifacts: '{archive-artifacts}'
29       - maven-exec:
30           maven-version: '{maven-version}'
31       - maven-params:
32           mvn-params: '{mvn-params}'
33
34     scm:
35       - gerrit-trigger-scm:
36           refspec: '$GERRIT_REFSPEC'
37           choosing-strategy: 'gerrit'
38           submodule-recursive: '{submodule-recursive}'
39
40     wrappers:
41       - infra-wrappers:
42           build-timeout: '{build-timeout}'
43
44     triggers:
45       - gerrit-trigger-patch-submitted:
46           server: '{server-name}'
47           project: '{project}'
48           branch: '{branch}'
49           files: '{obj:pattern}'
50
51     builders:
52       - provide-maven-settings:
53           global-settings-file: 'global-settings'
54           settings-file: '{mvn-settings}'
55       - maven-target:
56           maven-version: '{maven-version}'
57           pom: '{obj:pom}'
58           goals: 'clean install -B
59             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
60           settings: '{mvn-settings}'
61           settings-type: cfp
62           global-settings: 'global-settings'
63           global-settings-type: cfp
64
65     publishers:
66       - infra-shiplogs:
67           maven-version: '{maven-version}'
68
69 - job-template:
70     # Job template for Java verify jobs running checkstyle at the end
71     # When checkstyle will be fully incorporated, it is meant to replace
72     #  '{project-name}-{stream}-verify-java-checkstyle'
73     #
74     # The purpose of this job template is to run:
75     # 1. maven clean install
76     #
77     # This job publishes checkstyle results.
78     #
79     # Required Variables:
80     #     branch:    git branch (eg. stable/lithium or master)
81
82     <<: *verify_java_defaults
83     name: '{project-name}-{stream}-verify-java-checkstyle'
84     publishers:
85       - infra-shiplogs:
86           maven-version: '{maven-version}'
87       - checkstyle-result
88
89 - job-template:
90     # Job template for Java verify jobs with POM not at the root
91     #
92     # The purpose of this job template is to run:
93     # 1. maven clean install
94     #
95     # This job supports subprojects.
96     #
97     # Required Variables:
98     #     branch:    git branch (eg. stable/lithium or master)
99     #     pom:       name/location of the pom.xml file relative to the workspace
100     #     pattern:   ant file-path pattern relative to the workspace used to
101     #                trigger the job
102
103     <<: *verify_java_defaults
104     name: '{project-name}-{stream}-{subproject}-verify-java'
105
106 - job-template:
107     # Job template for Java daily release jobs
108     #
109     # The purpose of this job template is to run:
110     # 1. maven clean deploy with Sonar scans
111     #
112     # Required Variables:
113     #     branch:    git branch (eg. stable/lithium or master)
114
115     name: '{project-name}-{stream}-release-java-daily'
116
117     project-type: freestyle
118     node: '{build-node}'
119     disabled: '{disabled}'
120     maven-deploy-properties:
121     properties:
122       - infra-properties:
123           build-days-to-keep: '{build-days-to-keep}'
124
125     parameters:
126       - infra-parameters:
127           project: '{project}'
128           branch: '{branch}'
129           refspec: 'refs/heads/{branch}'
130           artifacts: '{archive-artifacts}'
131       - maven-exec:
132           maven-version: '{maven-version}'
133
134     scm:
135       - gerrit-trigger-scm:
136           refspec: ''
137           choosing-strategy: 'default'
138           submodule-recursive: '{submodule-recursive}'
139
140     wrappers:
141       - infra-wrappers:
142           build-timeout: '{build-timeout}'
143
144     triggers:
145       # 11 AM UTC
146       - timed: 'H 11 * * *'
147       - gerrit-trigger-release-manually:
148           server: '{server-name}'
149           project: '{project}'
150           branch: '{branch}'
151
152     builders:
153       - provide-maven-settings:
154           global-settings-file: 'global-settings'
155           settings-file: '{mvn-settings}'
156
157       - maven-target:
158           maven-version: '{maven-version}'
159           goals: 'clean deploy -B
160             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
161           properties:
162             - '{maven-deploy-properties}'
163           java-opts:
164             - '-Xmx4096m -XX:MaxPermSize=512m'
165           settings: '{mvn-settings}'
166           settings-type: cfp
167           global-settings: 'global-settings'
168           global-settings-type: cfp
169
170     publishers:
171       - infra-shiplogs:
172           maven-version: '{maven-version}'
173
174 - job-template:
175     # Job template for Java daily release jobs running checkstyle at the end
176     # When checkstyle will be fully incorporated, it is meant to replace
177     #  '{project-name}-{stream}-release-java-daily'
178     #
179     # The purpose of this job template is to run:
180     # 1. maven clean deploy with Sonar scans
181     #
182     # This job publishes checkstyle results.
183     # This job uses a conditional regex match step to set versions.
184     #
185     # Required Variables:
186     #     branch:    git branch (eg. stable/lithium or master)
187
188     name: '{project-name}-{stream}-release-java-daily-checkstyle'
189     project-type: freestyle
190     node: '{build-node}'
191     disabled: '{disabled}'
192     maven-deploy-properties:
193     properties:
194       - infra-properties:
195           build-days-to-keep: '{build-days-to-keep}'
196     parameters:
197       - infra-parameters:
198           project: '{project}'
199           branch: '{branch}'
200           refspec: 'refs/heads/{branch}'
201           artifacts: '{archive-artifacts}'
202       - maven-exec:
203           maven-version: '{maven-version}'
204     scm:
205       - gerrit-trigger-scm:
206           refspec: ''
207           choosing-strategy: 'default'
208           submodule-recursive: '{submodule-recursive}'
209     wrappers:
210       - infra-wrappers:
211           build-timeout: '{build-timeout}'
212     triggers:
213       # 11 AM UTC
214       - timed: 'H 11 * * *'
215       - gerrit-trigger-release-manually:
216           server: '{server-name}'
217           project: '{project}'
218           branch: '{branch}'
219     builders:
220       - provide-maven-settings:
221           global-settings-file: 'global-settings'
222           settings-file: '{mvn-settings}'
223       - conditional-step:
224           condition-kind: regex-match
225           regex: DoSetVersion
226           label: '{setVersion}'
227           steps:
228             - inject:
229                 properties-file: version.properties
230             - maven-target:
231                 maven-version: '{maven-version}'
232                 goals: 'versions:set versions:update-child-modules versions:commit -B'
233                 properties:
234                   - 'newVersion=${{release_version}}'
235                 settings: '{mvn-settings}'
236                 settings-type: cfp
237                 global-settings: 'global-settings'
238                 global-settings-type: cfp
239       - maven-target:
240           maven-version: '{maven-version}'
241           goals: 'clean deploy -B
242             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
243           properties: '{obj:mvn_properties}'
244           settings: '{mvn-settings}'
245           settings-type: cfp
246           global-settings: 'global-settings'
247           global-settings-type: cfp
248     publishers:
249       - infra-shiplogs:
250           maven-version: '{maven-version}'
251       - checkstyle-result-daily
252
253 - job-template:
254     # Job template for Java daily release jobs
255     #
256     # The purpose of this job template is to run:
257     # 1. maven set versions
258     # 2. maven clean deploy with Sonar scans
259     #
260     # Required Variables:
261     #     branch:    git branch (eg. stable/lithium or master)
262
263     name: '{project-name}-{stream}-release-version-java-daily'
264
265     project-type: freestyle
266     disabled: '{disabled}'
267     node: '{build-node}'
268     maven-deploy-properties:
269     properties:
270       - infra-properties:
271           build-days-to-keep: '{build-days-to-keep}'
272
273     parameters:
274       - infra-parameters:
275           project: '{project}'
276           branch: '{branch}'
277           refspec: 'refs/heads/{branch}'
278           artifacts: '{archive-artifacts}'
279       - maven-exec:
280           maven-version: '{maven-version}'
281
282     scm:
283       - gerrit-trigger-scm:
284           refspec: ''
285           choosing-strategy: 'default'
286           submodule-recursive: '{submodule-recursive}'
287
288     wrappers:
289       - infra-wrappers:
290           build-timeout: '{build-timeout}'
291
292     triggers:
293       # 11 AM UTC
294       - timed: 'H H(10-17) * * *'
295       - gerrit-trigger-release-manually:
296           server: '{server-name}'
297           project: '{project}'
298           branch: '{branch}'
299
300     builders:
301       - provide-maven-settings:
302           global-settings-file: 'global-settings'
303           settings-file: '{mvn-settings}'
304
305       - inject:
306           properties-file: version.properties
307       - maven-target:
308           maven-version: '{maven-version}'
309           goals: 'versions:set versions:update-child-modules versions:commit -B'
310           properties:
311             - 'newVersion=${{release_version}}'
312           settings: '{mvn-settings}'
313           settings-type: cfp
314           global-settings: 'global-settings'
315           global-settings-type: cfp
316
317       - maven-target:
318           maven-version: '{maven-version}'
319           goals: 'clean deploy -B
320             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
321           properties:
322             - '{maven-deploy-properties}'
323           settings: '{mvn-settings}'
324           settings-type: cfp
325           global-settings: 'global-settings'
326           global-settings-type: cfp
327
328     publishers:
329       - infra-shiplogs:
330           maven-version: '{maven-version}'
331
332 - job-template:
333     # Job template for Java daily release jobs
334     #
335     # The purpose of this job template is to run:
336     # 1. maven set versions
337     # 2. maven clean deploy -P {mvn-profile} with Sonar scans
338     #
339     # Required Variables:
340     #     branch:    git branch (eg. stable/lithium or master)
341
342     name: '{project-name}-{stream}-release-version-profile-java-daily'
343
344     project-type: freestyle
345     node: '{build-node}'
346     disabled: '{disabled}'
347     maven-deploy-properties:
348     properties:
349       - infra-properties:
350           build-days-to-keep: '{build-days-to-keep}'
351
352     parameters:
353       - infra-parameters:
354           project: '{project}'
355           branch: '{branch}'
356           refspec: 'refs/heads/{branch}'
357           artifacts: '{archive-artifacts}'
358       - maven-exec:
359           maven-version: '{maven-version}'
360
361     scm:
362       - gerrit-trigger-scm:
363           refspec: ''
364           choosing-strategy: 'default'
365           submodule-recursive: '{submodule-recursive}'
366
367     wrappers:
368       - infra-wrappers:
369           build-timeout: '{build-timeout}'
370
371     triggers:
372       # 11 AM UTC
373       - timed: 'H 11 * * *'
374       - gerrit-trigger-release-manually:
375           server: '{server-name}'
376           project: '{project}'
377           branch: '{branch}'
378
379     builders:
380       - provide-maven-settings:
381           global-settings-file: 'global-settings'
382           settings-file: '{mvn-settings}'
383
384       - inject:
385           properties-file: version.properties
386       - maven-target:
387           maven-version: '{maven-version}'
388           goals: 'versions:set versions:update-child-modules versions:commit -B'
389           properties:
390             - 'newVersion=${{release_version}}'
391           settings: '{mvn-settings}'
392           settings-type: cfp
393           global-settings: 'global-settings'
394           global-settings-type: cfp
395
396       - maven-target:
397           maven-version: '{maven-version}'
398           goals: 'clean deploy -P {mvn-profile} -B
399             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
400           properties:
401             - '{maven-deploy-properties}'
402           settings: '{mvn-settings}'
403           settings-type: cfp
404           global-settings: 'global-settings'
405           global-settings-type: cfp
406
407     publishers:
408       - infra-shiplogs:
409           maven-version: '{maven-version}'
410
411
412 - job-template:
413     # Job template for Java daily release jobs with POM not at the root
414     #
415     # The purpose of this job template is to run:
416     # 1. maven clean deploy with Sonar scans
417     #
418     # This job supports subprojects.
419     #
420     # Required Variables:
421     #     branch:    git branch (eg. stable/lithium or master)
422     #     pom:       name/location of the pom.xml file relative to the workspace
423
424     name: '{project-name}-{stream}-{subproject}-release-java-daily'
425
426     project-type: freestyle
427     node: '{build-node}'
428     disabled: '{disabled}'
429     maven-deploy-properties:
430     properties:
431       - infra-properties:
432           build-days-to-keep: '{build-days-to-keep}'
433
434     parameters:
435       - infra-parameters:
436           project: '{project}'
437           branch: '{branch}'
438           refspec: 'refs/heads/{branch}'
439           artifacts: '{archive-artifacts}'
440       - maven-exec:
441           maven-version: '{maven-version}'
442
443     scm:
444       - gerrit-trigger-scm:
445           refspec: ''
446           choosing-strategy: 'default'
447           submodule-recursive: '{submodule-recursive}'
448
449     wrappers:
450       - infra-wrappers:
451           build-timeout: '{build-timeout}'
452
453     triggers:
454       # 11 AM UTC
455       - timed: 'H 11 * * *'
456       - gerrit-trigger-release-manually:
457           server: '{server-name}'
458           project: '{project}'
459           branch: '{branch}'
460
461     builders:
462       - provide-maven-settings:
463           global-settings-file: 'global-settings'
464           settings-file: '{mvn-settings}'
465
466       - maven-target:
467           maven-version: '{maven-version}'
468           pom: '{pom}'
469           goals: 'clean deploy -B
470             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
471           properties:
472             - '{maven-deploy-properties}'
473           java-opts:
474             - '-Xmx4096m -XX:MaxPermSize=512m'
475           settings: '{mvn-settings}'
476           settings-type: cfp
477           global-settings: 'global-settings'
478           global-settings-type: cfp
479
480     publishers:
481       - infra-shiplogs:
482           maven-version: '{maven-version}'
483
484 - job-template:
485     # Job template for Java daily release jobs with POM not at the root
486     #
487     # The purpose of this job template is to run:
488     # 1. maven set versions
489     # 2. maven clean deploy with Sonar scans
490     #
491     # This job supports subprojects.
492     #
493     # Required Variables:
494     #     branch:    git branch (eg. stable/lithium or master)
495     #     pom:       name/location of the pom.xml file relative to the workspace
496
497     name: '{project-name}-{stream}-{subproject}-release-version-java-daily'
498
499     project-type: freestyle
500     node: '{build-node}'
501     disabled: '{disabled}'
502     maven-deploy-properties:
503     properties:
504       - infra-properties:
505           build-days-to-keep: '{build-days-to-keep}'
506
507     parameters:
508       - infra-parameters:
509           project: '{project}'
510           branch: '{branch}'
511           refspec: 'refs/heads/{branch}'
512           artifacts: '{archive-artifacts}'
513       - maven-exec:
514           maven-version: '{maven-version}'
515
516     scm:
517       - gerrit-trigger-scm:
518           refspec: ''
519           choosing-strategy: 'default'
520           submodule-recursive: '{submodule-recursive}'
521
522     wrappers:
523       - infra-wrappers:
524           build-timeout: '{build-timeout}'
525
526     triggers:
527       # 11 AM UTC
528       - timed: 'H 11 * * *'
529       - gerrit-trigger-release-manually:
530           server: '{server-name}'
531           project: '{project}'
532           branch: '{branch}'
533
534     builders:
535       - provide-maven-settings:
536           global-settings-file: 'global-settings'
537           settings-file: '{mvn-settings}'
538
539       - inject:
540           properties-file: version.properties
541       - maven-target:
542           maven-version: '{maven-version}'
543           pom: '{pom}'
544           goals: 'versions:set versions:update-child-modules versions:commit -B'
545           properties:
546             - 'newVersion=${{release_version}}'
547           settings: '{mvn-settings}'
548           settings-type: cfp
549           global-settings: 'global-settings'
550           global-settings-type: cfp
551
552       - maven-target:
553           maven-version: '{maven-version}'
554           pom: '{pom}'
555           goals: 'clean deploy -B
556             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
557           properties:
558             - '{maven-deploy-properties}'
559           settings: '{mvn-settings}'
560           settings-type: cfp
561           global-settings: 'global-settings'
562           global-settings-type: cfp
563
564     publishers:
565       - infra-shiplogs:
566           maven-version: '{maven-version}'
567
568
569 - job-template: &merge_java_defaults
570     # Job template for Java merge jobs
571     #
572     # The purpose of this job template is to run:
573     # 1. maven clean deploy
574     #
575     # Required Variables:
576     #     branch:    git branch (eg. stable/lithium or master)
577
578     name: '{project-name}-{stream}-merge-java'
579
580     project-type: freestyle
581     node: '{build-node}'
582     pattern: '**'
583     pom:
584     mvn_properties: []
585
586     properties:
587       - infra-properties:
588           build-days-to-keep: '{build-days-to-keep}'
589
590     parameters:
591       - infra-parameters:
592           project: '{project}'
593           branch: '{branch}'
594           refspec: 'refs/heads/{branch}'
595           artifacts: '{archive-artifacts}'
596       - maven-exec:
597           maven-version: '{maven-version}'
598
599     scm:
600       - gerrit-trigger-scm:
601           refspec: ''
602           choosing-strategy: 'default'
603           submodule-recursive: '{submodule-recursive}'
604
605     wrappers:
606       - infra-wrappers:
607           build-timeout: '{build-timeout}'
608
609     triggers:
610       - gerrit-trigger-patch-merged:
611           server: '{server-name}'
612           project: '{project}'
613           branch: '{branch}'
614           files: '{pattern}'
615
616     builders:
617       - provide-maven-settings:
618           global-settings-file: 'global-settings'
619           settings-file: '{mvn-settings}'
620       - maven-target:
621           maven-version: '{maven-version}'
622           pom: '{obj:pom}'
623           goals: 'clean deploy -B
624             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
625           settings: '{mvn-settings}'
626           settings-type: cfp
627           global-settings: 'global-settings'
628           global-settings-type: cfp
629           properties: '{obj:mvn_properties}'
630
631     publishers:
632       - infra-shiplogs:
633           maven-version: '{maven-version}'
634
635 - job-template:
636     # Job template for Java merge jobs based on
637     #   '{project-name}-{stream}-merge-java'
638     # The purpose of this job template is to run:
639     # 1. maven clean deploy
640     #
641     # This project supports maven properties.
642     #
643     # Required Variables:
644     #     branch:    git branch (eg. stable/lithium or master)
645     #     maven-properties: properties passed to maven
646
647     <<: *merge_java_defaults
648     name: '{project-name}-{stream}-merge-properties-java'
649
650 - job-template:
651     # Job template for Java merge jobs that takes a maven template
652     #
653     # The purpose of this job template is to run:
654     # 1. maven clean deploy -P {mvn-profile}
655     #
656     # Required Variables:
657     #     branch:    git branch (eg. stable/lithium or master)
658
659     <<: *merge_java_defaults
660     name: '{project-name}-{stream}-merge-profile-java'
661
662     builders:
663       - provide-maven-settings:
664           global-settings-file: 'global-settings'
665           settings-file: '{mvn-settings}'
666
667       - docker-login
668
669       - maven-target:
670           maven-version: '{maven-version}'
671           goals: 'clean deploy -P {mvn-profile} -B
672             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
673           settings: '{mvn-settings}'
674           settings-type: cfp
675           global-settings: 'global-settings'
676           global-settings-type: cfp
677           properties:
678             - docker.pull.registry=nexus3.onap.org:10001
679             - docker.push.registry=nexus3.onap.org:10003
680
681 - job-template:
682     # Job template for Java merge jobs with POM not at the root
683     #
684     # The purpose of this job template is to run:
685     # 1. maven clean deploy
686     #
687     # This job supports subprojects.
688     #
689     # Required Variables:
690     #     branch:    git branch (eg. stable/lithium or master)
691     #     pom:       name/location of the pom.xml file relative to the workspace
692     #     pattern:   ant file-path pattern relative to the workspace used to
693     #                trigger the job
694
695     <<: *merge_java_defaults
696     name: '{project-name}-{stream}-{subproject}-merge-java'
697
698 - job-template:
699     # Job template for Docker daily jobs
700     #
701     # The purpose of this job template is to run:
702     # 1. login to the docker registry
703     # 2. docker push
704     #
705     # Required Variables:
706     #     branch:    git branch (eg. stable/lithium or master)
707
708     name: '{project-name}-{stream}-docker-java-daily'
709     id: '{project-name}-{stream}-docker-java-daily'
710     project-type: freestyle
711     node: 'ubuntu1604-docker-8c-8g'
712     disabled: '{disabled}'
713     properties:
714       - infra-properties:
715           build-days-to-keep: '{build-days-to-keep}'
716
717     parameters:
718       - infra-parameters:
719           project: '{project}'
720           branch: '{branch}'
721           refspec: 'refs/heads/{branch}'
722           artifacts: '{archive-artifacts}'
723       - maven-exec:
724           maven-version: '{maven-version}'
725       - maven-params:
726           mvn-params: '{mvn-params}'
727
728     scm:
729       - gerrit-trigger-scm:
730           refspec: ''
731           choosing-strategy: 'default'
732           submodule-recursive: '{submodule-recursive}'
733
734     wrappers:
735       - infra-wrappers:
736           build-timeout: '{build-timeout}'
737
738     triggers:
739       # 12 AM UTC
740       - timed: 'H 12 * * *'
741       - gerrit-trigger-release-manually:
742           server: '{server-name}'
743           project: '{project}'
744           branch: '{branch}'
745
746     builders:
747
748       - provide-maven-settings:
749           global-settings-file: 'global-settings'
750           settings-file: '{mvn-settings}'
751
752       - docker-login
753
754       - maven-docker-push-daily:
755           maven-version: '{maven-version}'
756           mvn-settings: '{mvn-settings}'
757           pom: '{docker-pom}'
758           # use default as mvn-profile if profile is not needed
759           mvn-profile: '{mvn-profile}'
760           mvn-params: '{mvn-params}'
761
762     publishers:
763       - infra-shiplogs:
764           maven-version: '{maven-version}'
765
766 - job-template:
767     # Job template for Docker daily jobs
768     #
769     # The purpose of this job template is to run:
770     # 1. login to the docker registry
771     # 2. docker push
772     #
773     # Required Variables:
774     #     branch:    git branch (eg. stable/lithium or master)
775
776     name: '{project-name}-{stream}-docker-java-daily'
777     id: docker-java-daily
778     project-type: freestyle
779     node: '{build-node}'
780     disabled: '{disabled}'
781     properties:
782       - infra-properties:
783           build-days-to-keep: '{build-days-to-keep}'
784
785     parameters:
786       - infra-parameters:
787           project: '{project}'
788           branch: '{branch}'
789           refspec: 'refs/heads/{branch}'
790           artifacts: '{archive-artifacts}'
791       - maven-exec:
792           maven-version: '{maven-version}'
793       - maven-params:
794           mvn-params: '{mvn-params}'
795
796     scm:
797       - gerrit-trigger-scm:
798           refspec: ''
799           choosing-strategy: 'default'
800           submodule-recursive: '{submodule-recursive}'
801
802     wrappers:
803       - infra-wrappers-docker-build:
804           build-timeout: '{build-timeout}'
805
806     triggers:
807       # 12 AM UTC
808       - timed: 'H 12 * * *'
809       - gerrit-trigger-release-manually:
810           server: '{server-name}'
811           project: '{project}'
812           branch: '{branch}'
813
814     builders:
815
816       - provide-maven-settings:
817           global-settings-file: 'global-settings'
818           settings-file: '{mvn-settings}'
819
820       - docker-login
821
822       - maven-docker-push-daily:
823           maven-version: '{maven-version}'
824           mvn-settings: '{mvn-settings}'
825           pom: '{docker-pom}'
826           # use default as mvn-profile if profile is not needed
827           mvn-profile: '{mvn-profile}'
828           mvn-params: '{mvn-params}'
829
830     publishers:
831       - infra-shiplogs:
832           maven-version: '{maven-version}'
833
834
835 - job-template:
836     # Job template for building & pushing docker images
837     #
838     # The purpose of this job template is to run:
839     #  1. login to the docker registry
840     #  2. maven clean deploy on the specified profile
841     #
842     # This job uses a conditional regex match step to set versions.
843     # This template supports maven properties.
844     #
845     # Required Variables:
846     #     pom:       name/location of the pom.xml file relative to the workspace
847     #     profile:   the docker profile defined in the pom
848     #     maven-properties: properties passed to maven
849
850     name: '{project-name}-{stream}-docker-java-properties-daily'
851     project-type: freestyle
852     node: 'ubuntu1604-docker-8c-8g'
853     disabled: '{disabled}'
854     properties:
855       - infra-properties:
856           build-days-to-keep: '{build-days-to-keep}'
857     parameters:
858       - infra-parameters:
859           project: '{project}'
860           branch: '{branch}'
861           refspec: 'refs/heads/{branch}'
862           artifacts: '{archive-artifacts}'
863       - maven-exec:
864           maven-version: '{maven-version}'
865       - maven-params:
866           mvn-params: '{mvn-params}'
867     scm:
868       - gerrit-trigger-scm:
869           refspec: ''
870           choosing-strategy: 'default'
871           submodule-recursive: '{submodule-recursive}'
872     wrappers:
873       - infra-wrappers:
874           build-timeout: '{build-timeout}'
875     triggers:
876       # 12 AM UTC
877       - timed: 'H 12 * * *'
878       - gerrit-trigger-release-manually:
879           server: '{server-name}'
880           project: '{project}'
881           branch: '{branch}'
882     builders:
883       - provide-maven-settings:
884           global-settings-file: 'global-settings'
885           settings-file: '{mvn-settings}'
886       - conditional-step:
887           condition-kind: regex-match
888           regex: DoSetVersion
889           label: '{setVersion}'
890           steps:
891             - inject:
892                 properties-file: version.properties
893             - maven-target:
894                 maven-version: '{maven-version}'
895                 goals: 'versions:set versions:update-child-modules versions:commit -B'
896                 properties:
897                   - 'newVersion=${{release_version}}'
898                 settings: '{mvn-settings}'
899                 settings-type: cfp
900                 global-settings: 'global-settings'
901                 global-settings-type: cfp
902       - docker-login
903       - maven-docker-push-daily:
904           maven-version: '{maven-version}'
905           mvn-settings: '{mvn-settings}'
906           pom: '{docker-pom}'
907           properties: '{maven-properties}'
908           # use default as mvn-profile if profile is not needed
909           mvn-profile: '{mvn-profile}'
910           mvn-params: '{mvn-params}'
911     publishers:
912       - infra-shiplogs:
913           maven-version: '{maven-version}'
914
915 - job-template:
916     # Job template for building & pushing docker images
917     #
918     # The purpose of this job template is to run:
919     #  1. login to the docker registry
920     #  2. run a specified shell builder
921     #
922     # Required Variables:
923     #     pom:       name/location of the pom.xml file relative to the workspace
924     #     maven-properties: properties passed to maven
925
926     name: '{project-name}-{stream}-docker-java-shell-daily'
927     project-type: freestyle
928     node: 'ubuntu1604-docker-8c-8g'
929     disabled: '{disabled}'
930     properties:
931       - infra-properties:
932           build-days-to-keep: '{build-days-to-keep}'
933
934     parameters:
935       - infra-parameters:
936           project: '{project}'
937           branch: '{branch}'
938           refspec: 'refs/heads/{branch}'
939           artifacts: '{archive-artifacts}'
940       - maven-exec:
941           maven-version: '{maven-version}'
942
943     scm:
944       - gerrit-trigger-scm:
945           refspec: ''
946           choosing-strategy: 'default'
947           submodule-recursive: '{submodule-recursive}'
948
949     wrappers:
950       - infra-wrappers:
951           build-timeout: '{build-timeout}'
952
953     triggers:
954       # 12 AM UTC
955       - timed: 'H 12 * * *'
956       - gerrit-trigger-release-manually:
957           server: '{server-name}'
958           project: '{project}'
959           branch: '{branch}'
960
961     builders:
962
963       - provide-maven-settings:
964           global-settings-file: 'global-settings'
965           settings-file: '{mvn-settings}'
966
967       - docker-login
968
969       - maven-target:
970           maven-version: '{maven-version}'
971           goals: '{mvn-goals}'
972           settings: '{mvn-settings}'
973           settings-type: cfp
974           global-settings: 'global-settings'
975           global-settings-type: cfp
976
977       - shell: '{script}'
978
979     publishers:
980       - infra-shiplogs:
981           maven-version: '{maven-version}'
982
983 - job-template:
984     # Job template for building & pushing docker images
985     #
986     # The purpose of this job template is to run:
987     #  1. login to the docker registry
988     #  2. inject a version.properties file and set versions
989     #  3. run a specified shell builder
990     #
991     # Required Variables:
992     #     pom:       name/location of the pom.xml file relative to the workspace
993     #     maven-properties: properties passed to maven
994
995     name: '{project-name}-{stream}-docker-java-version-shell-daily'
996     project-type: freestyle
997     node: 'ubuntu1604-docker-8c-8g'
998     disabled: '{disabled}'
999     properties:
1000       - infra-properties:
1001           build-days-to-keep: '{build-days-to-keep}'
1002
1003     parameters:
1004       - infra-parameters:
1005           project: '{project}'
1006           branch: '{branch}'
1007           refspec: 'refs/heads/{branch}'
1008           artifacts: '{archive-artifacts}'
1009       - maven-exec:
1010           maven-version: '{maven-version}'
1011
1012     scm:
1013       - gerrit-trigger-scm:
1014           refspec: ''
1015           choosing-strategy: 'default'
1016           submodule-recursive: '{submodule-recursive}'
1017
1018     wrappers:
1019       - infra-wrappers:
1020           build-timeout: '{build-timeout}'
1021
1022     triggers:
1023       # 12 AM UTC
1024       - timed: 'H 12 * * *'
1025       - gerrit-trigger-release-manually:
1026           server: '{server-name}'
1027           project: '{project}'
1028           branch: '{branch}'
1029
1030     builders:
1031
1032       - provide-maven-settings:
1033           global-settings-file: 'global-settings'
1034           settings-file: '{mvn-settings}'
1035
1036       - inject:
1037           properties-file: version.properties
1038
1039       - maven-target:
1040           maven-version: '{maven-version}'
1041           goals: 'versions:set versions:update-child-modules versions:commit -B'
1042           properties:
1043             - 'newVersion=${{release_version}}'
1044           settings: '{mvn-settings}'
1045           settings-type: cfp
1046           global-settings: 'global-settings'
1047           global-settings-type: cfp
1048
1049       - docker-login
1050
1051       - maven-target:
1052           maven-version: '{maven-version}'
1053           goals: '{mvn-goals}'
1054           settings: '{mvn-settings}'
1055           settings-type: cfp
1056           global-settings: 'global-settings'
1057           global-settings-type: cfp
1058
1059       - shell: '{script}'
1060
1061     publishers:
1062       - infra-shiplogs:
1063           maven-version: '{maven-version}'
1064
1065 - job-template:
1066     # Job template for building & pushing docker images
1067     #
1068     # The purpose of this job template is to run:
1069     #  1. login to the docker registry
1070     #  2. inject a version.properties file and set versions
1071     #  3. run a specified shell builder
1072     #
1073     # This template supports subprojects.
1074     #
1075     # Required Variables:
1076     #     pom:       name/location of the pom.xml file relative to the workspace
1077     #     maven-properties: properties passed to maven
1078
1079     name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily'
1080     project-type: freestyle
1081     node: 'ubuntu1604-docker-8c-8g'
1082     disabled: '{disabled}'
1083     properties:
1084       - infra-properties:
1085           build-days-to-keep: '{build-days-to-keep}'
1086
1087     parameters:
1088       - infra-parameters:
1089           project: '{project}'
1090           branch: '{branch}'
1091           refspec: 'refs/heads/{branch}'
1092           artifacts: '{archive-artifacts}'
1093       - maven-exec:
1094           maven-version: '{maven-version}'
1095
1096     scm:
1097       - gerrit-trigger-scm:
1098           refspec: ''
1099           choosing-strategy: 'default'
1100           submodule-recursive: '{submodule-recursive}'
1101
1102     wrappers:
1103       - infra-wrappers:
1104           build-timeout: '{build-timeout}'
1105
1106     triggers:
1107       # 12 AM UTC
1108       - timed: 'H 12 * * *'
1109       - gerrit-trigger-release-manually:
1110           server: '{server-name}'
1111           project: '{project}'
1112           branch: '{branch}'
1113
1114     builders:
1115
1116       - provide-maven-settings:
1117           global-settings-file: 'global-settings'
1118           settings-file: '{mvn-settings}'
1119
1120       - inject:
1121           properties-file: version.properties
1122
1123       - maven-target:
1124           maven-version: '{maven-version}'
1125           pom: '{pom}'
1126           goals: 'versions:set versions:update-child-modules versions:commit -B'
1127           properties:
1128             - 'newVersion=${{release_version}}'
1129           settings: '{mvn-settings}'
1130           settings-type: cfp
1131           global-settings: 'global-settings'
1132           global-settings-type: cfp
1133
1134       - docker-login
1135
1136       - maven-target:
1137           maven-version: '{maven-version}'
1138           pom: '{pom}'
1139           goals: '{mvn-goals}'
1140           settings: '{mvn-settings}'
1141           settings-type: cfp
1142           global-settings: 'global-settings'
1143           global-settings-type: cfp
1144
1145       - shell: '{script}'
1146
1147     publishers:
1148       - infra-shiplogs:
1149           maven-version: '{maven-version}'
1150
1151 - job-template:
1152     # Job template for building & pushing docker images
1153     #
1154     # The purpose of this job template is to run:
1155     #  1. login to the docker registry
1156     #  2. inject a version.properties file and set versions
1157     #  3. run a docker push
1158     #
1159     # Required Variables:
1160     #     pom:       name/location of the pom.xml file relative to the workspace
1161     #     profile:   the docker profile defined in the pom
1162     #     maven-properties: properties passed to maven
1163
1164     name: '{project-name}-{stream}-docker-version-java-daily'
1165     id: '{project-name}-{stream}-docker-version-java-daily'
1166     project-type: freestyle
1167     node: 'ubuntu1604-docker-8c-8g'
1168     disabled: '{disabled}'
1169     properties:
1170       - infra-properties:
1171           build-days-to-keep: '{build-days-to-keep}'
1172
1173     parameters:
1174       - infra-parameters:
1175           project: '{project}'
1176           branch: '{branch}'
1177           refspec: 'refs/heads/{branch}'
1178           artifacts: '{archive-artifacts}'
1179       - maven-exec:
1180           maven-version: '{maven-version}'
1181       - maven-params:
1182           mvn-params: '{mvn-params}'
1183
1184     scm:
1185       - gerrit-trigger-scm:
1186           refspec: ''
1187           choosing-strategy: 'default'
1188           submodule-recursive: '{submodule-recursive}'
1189
1190     wrappers:
1191       - infra-wrappers:
1192           build-timeout: '{build-timeout}'
1193
1194     triggers:
1195       # 12 AM UTC
1196       - timed: 'H 12 * * *'
1197       - gerrit-trigger-release-manually:
1198           server: '{server-name}'
1199           project: '{project}'
1200           branch: '{branch}'
1201
1202     builders:
1203
1204       - provide-maven-settings:
1205           global-settings-file: 'global-settings'
1206           settings-file: '{mvn-settings}'
1207
1208       - inject:
1209           properties-file: version.properties
1210
1211       - maven-target:
1212           maven-version: '{maven-version}'
1213           goals: 'versions:set versions:update-child-modules versions:commit -B'
1214           properties:
1215             - 'newVersion=${{release_version}}'
1216           settings: '{mvn-settings}'
1217           settings-type: cfp
1218           global-settings: 'global-settings'
1219           global-settings-type: cfp
1220
1221       - docker-login
1222
1223       - maven-docker-push-daily:
1224           maven-version: '{maven-version}'
1225           mvn-settings: '{mvn-settings}'
1226           pom: '{docker-pom}'
1227           # use default as mvn-profile if profile is not needed
1228           mvn-profile: '{mvn-profile}'
1229           mvn-params: '{mvn-params}'
1230
1231     publishers:
1232       - infra-shiplogs:
1233           maven-version: '{maven-version}'
1234
1235 - job-template:
1236     # Job template for building & pushing docker images
1237     #
1238     # The purpose of this job template is to run:
1239     #  1. login to the docker registry
1240     #  2. inject a version.properties file and set versions
1241     #  3. run a docker push
1242     #
1243     # Required Variables:
1244     #     pom:       name/location of the pom.xml file relative to the workspace
1245     #     profile:   the docker profile defined in the pom
1246     #     maven-properties: properties passed to maven
1247
1248     name: '{project-name}-{stream}-docker-version-java-daily'
1249     id: 'docker-version-java-daily'
1250     project-type: freestyle
1251     node: '{build-node}'
1252     disabled: '{disabled}'
1253     properties:
1254       - infra-properties:
1255           build-days-to-keep: '{build-days-to-keep}'
1256
1257     parameters:
1258       - infra-parameters:
1259           project: '{project}'
1260           branch: '{branch}'
1261           refspec: 'refs/heads/{branch}'
1262           artifacts: '{archive-artifacts}'
1263       - maven-exec:
1264           maven-version: '{maven-version}'
1265       - maven-params:
1266           mvn-params: '{mvn-params}'
1267
1268     scm:
1269       - gerrit-trigger-scm:
1270           refspec: ''
1271           choosing-strategy: 'default'
1272           submodule-recursive: '{submodule-recursive}'
1273
1274     wrappers:
1275       - infra-wrappers-docker-build:
1276           build-timeout: '{build-timeout}'
1277
1278     triggers:
1279       # 12 AM UTC
1280       - timed: 'H 12 * * *'
1281       - gerrit-trigger-release-manually:
1282           server: '{server-name}'
1283           project: '{project}'
1284           branch: '{branch}'
1285
1286     builders:
1287
1288       - provide-maven-settings:
1289           global-settings-file: 'global-settings'
1290           settings-file: '{mvn-settings}'
1291
1292       - inject:
1293           properties-file: version.properties
1294
1295       - maven-target:
1296           maven-version: '{maven-version}'
1297           goals: 'versions:set versions:update-child-modules versions:commit -B'
1298           properties:
1299             - 'newVersion=${{release_version}}'
1300           settings: '{mvn-settings}'
1301           settings-type: cfp
1302           global-settings: 'global-settings'
1303           global-settings-type: cfp
1304
1305       - docker-login
1306
1307       - maven-docker-push-daily:
1308           maven-version: '{maven-version}'
1309           mvn-settings: '{mvn-settings}'
1310           pom: '{docker-pom}'
1311           # use default as mvn-profile if profile is not needed
1312           mvn-profile: '{mvn-profile}'
1313           mvn-params: '{mvn-params}'
1314
1315     publishers:
1316       - infra-shiplogs:
1317           maven-version: '{maven-version}'
1318
1319 - job-template:
1320     # Job template for building & pushing docker images
1321     #
1322     # The purpose of this job template is to run:
1323     #  1. inject a version.properties file and set versions
1324     #  2. login to the docker registry
1325     #  3. run a docker push
1326     #
1327     # This job supports subprojects.
1328     #
1329     # Required Variables:
1330     #     pom:       name/location of the pom.xml file relative to the workspace
1331     #     maven-properties: properties passed to maven
1332
1333     name: '{project-name}-{stream}-{subproject}-docker-version-java-daily'
1334     project-type: freestyle
1335     node: 'ubuntu1604-docker-8c-8g'
1336     disabled: '{disabled}'
1337     properties:
1338       - infra-properties:
1339           build-days-to-keep: '{build-days-to-keep}'
1340
1341     parameters:
1342       - infra-parameters:
1343           project: '{project}'
1344           branch: '{branch}'
1345           refspec: 'refs/heads/{branch}'
1346           artifacts: '{archive-artifacts}'
1347       - maven-exec:
1348           maven-version: '{maven-version}'
1349       - maven-params:
1350           mvn-params: '{mvn-params}'
1351
1352     scm:
1353       - gerrit-trigger-scm:
1354           refspec: ''
1355           choosing-strategy: 'default'
1356           submodule-recursive: '{submodule-recursive}'
1357
1358     wrappers:
1359       - infra-wrappers:
1360           build-timeout: '{build-timeout}'
1361
1362     triggers:
1363       # 12 AM UTC
1364       - timed: 'H 12 * * *'
1365       - gerrit-trigger-release-manually:
1366           server: '{server-name}'
1367           project: '{project}'
1368           branch: '{branch}'
1369
1370     builders:
1371
1372       - provide-maven-settings:
1373           global-settings-file: 'global-settings'
1374           settings-file: '{mvn-settings}'
1375
1376       - inject:
1377           properties-file: version.properties
1378
1379       - maven-target:
1380           maven-version: '{maven-version}'
1381           pom: '{pom}'
1382           goals: 'versions:set versions:update-child-modules versions:commit -B'
1383           properties:
1384             - 'newVersion=${{release_version}}'
1385           settings: '{mvn-settings}'
1386           settings-type: cfp
1387           global-settings: 'global-settings'
1388           global-settings-type: cfp
1389
1390       - docker-login
1391
1392       - maven-docker-push-daily:
1393           maven-version: '{maven-version}'
1394           mvn-settings: '{mvn-settings}'
1395           pom: '{docker-pom}'
1396           # use default as mvn-profile if profile is not needed
1397           mvn-profile: '{mvn-profile}'
1398           mvn-params: '{mvn-params}'
1399
1400     publishers:
1401       - infra-shiplogs:
1402           maven-version: '{maven-version}'
1403
1404 - job-template:
1405     # Job template for building & pushing docker images for AAI specific repos
1406     #
1407     # The purpose of this job template is to run:
1408     #  1. login to the docker registry
1409     #  2. run maven goals
1410     #  3. run include-docker-push.sh
1411     #
1412     # Required Variables:
1413     #     pom:       name/location of the pom.xml file relative to the workspace
1414     #     maven-properties: properties passed to maven
1415
1416     name: '{project-name}-{stream}-aai-docker-java-daily'
1417     project-type: freestyle
1418     node: 'ubuntu1604-docker-8c-8g'
1419     docker-image-name: ''
1420     disabled: '{disabled}'
1421     properties:
1422       - infra-properties:
1423           build-days-to-keep: '{build-days-to-keep}'
1424
1425     parameters:
1426       - infra-parameters:
1427           project: '{project}'
1428           branch: '{branch}'
1429           refspec: 'refs/heads/{branch}'
1430           artifacts: '{archive-artifacts}'
1431       - maven-exec:
1432           maven-version: '{maven-version}'
1433       - docker-image-name:
1434           docker-image-name: '{docker-image-name}'
1435
1436     scm:
1437       - gerrit-trigger-scm:
1438           refspec: ''
1439           choosing-strategy: 'default'
1440           submodule-recursive: '{submodule-recursive}'
1441
1442     wrappers:
1443       - infra-wrappers:
1444           build-timeout: '{build-timeout}'
1445
1446     triggers:
1447       # 12 AM UTC
1448       - timed: 'H 12 * * *'
1449       - gerrit-trigger-release-manually:
1450           server: '{server-name}'
1451           project: '{project}'
1452           branch: '{branch}'
1453
1454     builders:
1455
1456       - provide-maven-settings:
1457           global-settings-file: 'global-settings'
1458           settings-file: '{mvn-settings}'
1459
1460       - docker-login
1461
1462       - maven-target:
1463           maven-version: '{maven-version}'
1464           pom: 'pom.xml'
1465           goals: 'clean install -DskipTests -B
1466             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1467           settings: '{mvn-settings}'
1468           settings-type: cfp
1469           global-settings: 'global-settings'
1470           global-settings-type: cfp
1471
1472       - maven-target:
1473           maven-version: '{maven-version}'
1474           pom: '{pom}'
1475           goals: '{mvn-goals}'
1476           settings: '{mvn-settings}'
1477           settings-type: cfp
1478           global-settings: 'global-settings'
1479           global-settings-type: cfp
1480           properties:
1481             - maven.test.skip=true
1482             - docker.pull.registry=nexus3.onap.org:10001
1483             - docker.push.registry=nexus3.onap.org:10003
1484
1485       - shell: !include-raw-escape: include-docker-push.sh
1486
1487     publishers:
1488       - infra-shiplogs:
1489           maven-version: '{maven-version}'
1490
1491 - job-template:
1492     # Job template for building & pushing docker images for AAI specific repos
1493     #
1494     # The purpose of this job template is to run:
1495     #  1. login to the docker registry
1496     #  2. run maven goals
1497     #  3. run include-docker-push.sh
1498     #
1499     # This job supports subprojects
1500     #
1501     # Required Variables:
1502     #     pom:       name/location of the pom.xml file relative to the workspace
1503     #     maven-properties: properties passed to maven
1504
1505     name: '{project-name}-{stream}-{subproject}-aai-docker-java-daily'
1506     project-type: freestyle
1507     node: 'ubuntu1604-docker-8c-8g'
1508     disabled: '{disabled}'
1509     docker-image-name: ''
1510
1511     properties:
1512       - infra-properties:
1513           build-days-to-keep: '{build-days-to-keep}'
1514
1515     parameters:
1516       - infra-parameters:
1517           project: '{project}'
1518           branch: '{branch}'
1519           refspec: 'refs/heads/{branch}'
1520           artifacts: '{archive-artifacts}'
1521       - maven-exec:
1522           maven-version: '{maven-version}'
1523       - docker-image-name:
1524           docker-image-name: '{docker-image-name}'
1525
1526     scm:
1527       - gerrit-trigger-scm:
1528           refspec: ''
1529           choosing-strategy: 'default'
1530           submodule-recursive: '{submodule-recursive}'
1531
1532     wrappers:
1533       - infra-wrappers:
1534           build-timeout: '{build-timeout}'
1535
1536     triggers:
1537       # 12 AM UTC
1538       - timed: 'H 12 * * *'
1539       - gerrit-trigger-release-manually:
1540           server: '{server-name}'
1541           project: '{project}'
1542           branch: '{branch}'
1543
1544     builders:
1545
1546       - provide-maven-settings:
1547           global-settings-file: 'global-settings'
1548           settings-file: '{mvn-settings}'
1549
1550       - docker-login
1551
1552       - maven-target:
1553           maven-version: '{maven-version}'
1554           pom: 'pom.xml'
1555           goals: 'clean install -DskipTests -B
1556             -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1557           settings: '{mvn-settings}'
1558           settings-type: cfp
1559           global-settings: 'global-settings'
1560           global-settings-type: cfp
1561
1562       - maven-target:
1563           maven-version: '{maven-version}'
1564           pom: '{pom}'
1565           goals: '{mvn-goals}'
1566           settings: '{mvn-settings}'
1567           settings-type: cfp
1568           global-settings: 'global-settings'
1569           global-settings-type: cfp
1570           properties:
1571             - maven.test.skip=true
1572             - docker.pull.registry=nexus3.onap.org:10001
1573             - docker.push.registry=nexus3.onap.org:10003
1574
1575       - shell: !include-raw-escape: include-docker-push.sh
1576
1577     publishers:
1578       - infra-shiplogs:
1579           maven-version: '{maven-version}'
1580
1581 - job-template:
1582     # Job template for Java merge jobs for SDC specific repos
1583     #
1584     # The purpose of this job template is to run:
1585     # 1. maven clean deploy
1586     #
1587     # Required Variables:
1588     #     branch:    git branch (eg. stable/lithium or master)
1589
1590     <<: *merge_java_defaults
1591     name: '{project-name}-{stream}-sdc-merge-java'
1592
1593     node: 'ubuntu1604-docker-8c-8g'
1594     build-timeout: 120
1595
1596     builders:
1597       - provide-maven-settings:
1598           global-settings-file: 'global-settings'
1599           settings-file: '{mvn-settings}'
1600
1601       - docker-login
1602
1603       - maven-docker-push-daily:
1604           maven-version: '{maven-version}'
1605           mvn-settings: '{mvn-settings}'
1606           pom: '{docker-pom}'
1607           # use default as mvn-profile if profile is not needed
1608           mvn-profile: '{mvn-profile}'
1609           mvn-params: ''
1610
1611 - job-template:
1612     # Job template for building & pushing docker images for AAI specific repos
1613     #
1614     # The purpose of this job template is to run:
1615     #  1. login to the docker registry
1616     #  2. run maven clean install goals skipping tests
1617     #  3. run maven goals
1618     #
1619     # Required Variables:
1620     #     pom:       name/location of the pom.xml file relative to the workspace
1621     #     maven-properties: properties passed to maven
1622
1623     name: '{project-name}-{stream}-aai-docker-java-version-daily'
1624     project-type: freestyle
1625     node: 'ubuntu1604-docker-8c-8g'
1626     disabled: '{disabled}'
1627     properties:
1628       - infra-properties:
1629           build-days-to-keep: '{build-days-to-keep}'
1630
1631     parameters:
1632       - infra-parameters:
1633           project: '{project}'
1634           branch: '{branch}'
1635           refspec: 'refs/heads/{branch}'
1636           artifacts: '{archive-artifacts}'
1637       - maven-exec:
1638           maven-version: '{maven-version}'
1639
1640     scm:
1641       - gerrit-trigger-scm:
1642           refspec: ''
1643           choosing-strategy: 'default'
1644           submodule-recursive: '{submodule-recursive}'
1645
1646     wrappers:
1647       - infra-wrappers:
1648           build-timeout: '{build-timeout}'
1649
1650     triggers:
1651       # 12 AM UTC
1652       - timed: 'H 12 * * *'
1653       - gerrit-trigger-release-manually:
1654           server: '{server-name}'
1655           project: '{project}'
1656           branch: '{branch}'
1657
1658     builders:
1659
1660       - provide-maven-settings:
1661           global-settings-file: 'global-settings'
1662           settings-file: '{mvn-settings}'
1663
1664       - docker-login
1665
1666       - maven-target:
1667           maven-version: '{maven-version}'
1668           pom: 'pom.xml'
1669           goals: 'clean install -DskipTests -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1670           settings: '{mvn-settings}'
1671           settings-type: cfp
1672           global-settings: 'global-settings'
1673           global-settings-type: cfp
1674
1675       - maven-target:
1676           maven-version: '{maven-version}'
1677           pom: '{pom}'
1678           goals: '{mvn-goals}'
1679           settings: '{mvn-settings}'
1680           settings-type: cfp
1681           global-settings: 'global-settings'
1682           global-settings-type: cfp
1683           properties:
1684             - maven.test.skip=true
1685             - docker.pull.registry=nexus3.onap.org:10001
1686             - docker.push.registry=nexus3.onap.org:10003
1687
1688     publishers:
1689       - infra-shiplogs:
1690           maven-version: '{maven-version}'
1691