2 - job-template: &verify_java_defaults
3 # Job template for Java verify jobs
5 # The purpose of this job template is to run:
6 # 1. maven clean install
9 # branch: git branch (eg. stable/lithium or master)
11 name: '{project-name}-{stream}-verify-java'
13 project-type: freestyle
16 build-env-variables: ''
23 build-days-to-keep: '{build-days-to-keep}'
29 refspec: 'refs/heads/{branch}'
30 artifacts: '{archive-artifacts}'
32 maven-version: '{maven-version}'
34 mvn-params: '{mvn-params}'
38 refspec: '$GERRIT_REFSPEC'
39 choosing-strategy: 'gerrit'
40 submodule-recursive: '{submodule-recursive}'
44 build-timeout: '{build-timeout}'
47 - gerrit-trigger-patch-submitted:
48 server: '{server-name}'
51 files: '{obj:pattern}'
55 - provide-maven-settings:
56 global-settings-file: 'global-settings'
57 settings-file: '{mvn-settings}'
59 properties-content: "{build-env-variables}"
61 maven-version: '{maven-version}'
63 goals: 'clean install -B
64 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}'
66 - MAVEN_OPTS='{mvn-opts}'
69 settings: '{mvn-settings}'
71 global-settings: 'global-settings'
72 global-settings-type: cfp
76 maven-version: '{maven-version}'
79 # Job template for Java verify jobs running checkstyle at the end
80 # When checkstyle will be fully incorporated, it is meant to replace
81 # '{project-name}-{stream}-verify-java-checkstyle'
83 # The purpose of this job template is to run:
84 # 1. maven clean install
86 # This job publishes checkstyle results.
89 # branch: git branch (eg. stable/lithium or master)
91 <<: *verify_java_defaults
92 name: '{project-name}-{stream}-verify-java-checkstyle'
95 maven-version: '{maven-version}'
99 # Job template for Java verify jobs with POM not at the root
101 # The purpose of this job template is to run:
102 # 1. maven clean install
104 # This job supports subprojects.
106 # Required Variables:
107 # branch: git branch (eg. stable/lithium or master)
108 # pom: name/location of the pom.xml file relative to the workspace
109 # pattern: ant file-path pattern relative to the workspace used to
112 <<: *verify_java_defaults
113 name: '{project-name}-{stream}-{subproject}-verify-java'
116 # Job template for Java daily release jobs
118 # The purpose of this job template is to run:
119 # 1. maven clean deploy with Sonar scans
121 # Required Variables:
122 # branch: git branch (eg. stable/lithium or master)
124 name: '{project-name}-{stream}-release-java-daily'
126 project-type: freestyle
128 disabled: '{disabled}'
129 maven-deploy-properties:
132 build-days-to-keep: '{build-days-to-keep}'
138 refspec: 'refs/heads/{branch}'
139 artifacts: '{archive-artifacts}'
141 maven-version: '{maven-version}'
144 - gerrit-trigger-scm:
146 choosing-strategy: 'default'
147 submodule-recursive: '{submodule-recursive}'
151 build-timeout: '{build-timeout}'
156 - gerrit-trigger-release-manually:
157 server: '{server-name}'
163 - provide-maven-settings:
164 global-settings-file: 'global-settings'
165 settings-file: '{mvn-settings}'
168 maven-version: '{maven-version}'
169 goals: 'clean deploy -B
170 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
172 - '{maven-deploy-properties}'
174 - '-Xmx4096m -XX:MaxPermSize=512m'
175 settings: '{mvn-settings}'
177 global-settings: 'global-settings'
178 global-settings-type: cfp
182 maven-version: '{maven-version}'
185 # Job template for Java daily release jobs running checkstyle at the end
186 # When checkstyle will be fully incorporated, it is meant to replace
187 # '{project-name}-{stream}-release-java-daily'
189 # The purpose of this job template is to run:
190 # 1. maven clean deploy with Sonar scans
192 # This job publishes checkstyle results.
193 # This job uses a conditional regex match step to set versions.
195 # Required Variables:
196 # branch: git branch (eg. stable/lithium or master)
198 name: '{project-name}-{stream}-release-java-daily-checkstyle'
199 project-type: freestyle
201 disabled: '{disabled}'
202 maven-deploy-properties:
205 build-days-to-keep: '{build-days-to-keep}'
210 refspec: 'refs/heads/{branch}'
211 artifacts: '{archive-artifacts}'
213 maven-version: '{maven-version}'
215 - gerrit-trigger-scm:
217 choosing-strategy: 'default'
218 submodule-recursive: '{submodule-recursive}'
221 build-timeout: '{build-timeout}'
225 - gerrit-trigger-release-manually:
226 server: '{server-name}'
231 - provide-maven-settings:
232 global-settings-file: 'global-settings'
233 settings-file: '{mvn-settings}'
235 condition-kind: regex-match
237 label: '{setVersion}'
240 properties-file: version.properties
241 - maven-set-release-version:
242 maven-version: '{maven-version}'
243 mvn-settings: '{mvn-settings}'
246 maven-version: '{maven-version}'
247 goals: 'clean deploy -B
248 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
249 properties: '{obj:mvn_properties}'
250 settings: '{mvn-settings}'
252 global-settings: 'global-settings'
253 global-settings-type: cfp
256 maven-version: '{maven-version}'
257 - checkstyle-result-daily
260 # Job template for Java daily release jobs
262 # The purpose of this job template is to run:
263 # 1. maven set versions
264 # 2. maven clean deploy with Sonar scans
266 # Required Variables:
267 # branch: git branch (eg. stable/lithium or master)
269 name: '{project-name}-{stream}-release-version-java-daily'
271 project-type: freestyle
272 disabled: '{disabled}'
274 maven-deploy-properties:
277 build-days-to-keep: '{build-days-to-keep}'
283 refspec: 'refs/heads/{branch}'
284 artifacts: '{archive-artifacts}'
286 maven-version: '{maven-version}'
289 - gerrit-trigger-scm:
291 choosing-strategy: 'default'
292 submodule-recursive: '{submodule-recursive}'
296 build-timeout: '{build-timeout}'
301 - gerrit-trigger-release-manually:
302 server: '{server-name}'
308 - provide-maven-settings:
309 global-settings-file: 'global-settings'
310 settings-file: '{mvn-settings}'
313 properties-file: version.properties
314 - maven-set-release-version:
315 maven-version: '{maven-version}'
316 mvn-settings: '{mvn-settings}'
320 maven-version: '{maven-version}'
321 goals: 'clean deploy -B
322 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
324 - '{maven-deploy-properties}'
325 settings: '{mvn-settings}'
327 global-settings: 'global-settings'
328 global-settings-type: cfp
332 maven-version: '{maven-version}'
335 # Job template for Java daily release jobs
337 # The purpose of this job template is to run:
338 # 1. maven set versions
339 # 2. maven clean deploy -P {mvn-profile} with Sonar scans
341 # Required Variables:
342 # branch: git branch (eg. stable/lithium or master)
344 name: '{project-name}-{stream}-release-version-profile-java-daily'
346 project-type: freestyle
348 disabled: '{disabled}'
349 maven-deploy-properties:
352 build-days-to-keep: '{build-days-to-keep}'
358 refspec: 'refs/heads/{branch}'
359 artifacts: '{archive-artifacts}'
361 maven-version: '{maven-version}'
364 - gerrit-trigger-scm:
366 choosing-strategy: 'default'
367 submodule-recursive: '{submodule-recursive}'
371 build-timeout: '{build-timeout}'
376 - gerrit-trigger-release-manually:
377 server: '{server-name}'
383 - provide-maven-settings:
384 global-settings-file: 'global-settings'
385 settings-file: '{mvn-settings}'
388 properties-file: version.properties
389 - maven-set-release-version:
390 maven-version: '{maven-version}'
391 mvn-settings: '{mvn-settings}'
395 maven-version: '{maven-version}'
396 goals: 'clean deploy -P {mvn-profile} -B
397 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
399 - '{maven-deploy-properties}'
400 settings: '{mvn-settings}'
402 global-settings: 'global-settings'
403 global-settings-type: cfp
407 maven-version: '{maven-version}'
411 # Job template for Java daily release jobs with POM not at the root
413 # The purpose of this job template is to run:
414 # 1. maven clean deploy with Sonar scans
416 # This job supports subprojects.
418 # Required Variables:
419 # branch: git branch (eg. stable/lithium or master)
420 # pom: name/location of the pom.xml file relative to the workspace
422 name: '{project-name}-{stream}-{subproject}-release-java-daily'
424 project-type: freestyle
426 disabled: '{disabled}'
427 maven-deploy-properties:
430 build-days-to-keep: '{build-days-to-keep}'
436 refspec: 'refs/heads/{branch}'
437 artifacts: '{archive-artifacts}'
439 maven-version: '{maven-version}'
442 - gerrit-trigger-scm:
444 choosing-strategy: 'default'
445 submodule-recursive: '{submodule-recursive}'
449 build-timeout: '{build-timeout}'
454 - gerrit-trigger-release-manually:
455 server: '{server-name}'
461 - provide-maven-settings:
462 global-settings-file: 'global-settings'
463 settings-file: '{mvn-settings}'
466 maven-version: '{maven-version}'
468 goals: 'clean deploy -B
469 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
471 - '{maven-deploy-properties}'
473 - '-Xmx4096m -XX:MaxPermSize=512m'
474 settings: '{mvn-settings}'
476 global-settings: 'global-settings'
477 global-settings-type: cfp
481 maven-version: '{maven-version}'
484 # Job template for Java daily release jobs with POM not at the root
486 # The purpose of this job template is to run:
487 # 1. maven set versions
488 # 2. maven clean deploy with Sonar scans
490 # This job supports subprojects.
492 # Required Variables:
493 # branch: git branch (eg. stable/lithium or master)
494 # pom: name/location of the pom.xml file relative to the workspace
496 name: '{project-name}-{stream}-{subproject}-release-version-java-daily'
498 project-type: freestyle
500 disabled: '{disabled}'
501 version-properties: 'version.properties'
502 maven-deploy-properties:
505 build-days-to-keep: '{build-days-to-keep}'
511 refspec: 'refs/heads/{branch}'
512 artifacts: '{archive-artifacts}'
514 maven-version: '{maven-version}'
517 - gerrit-trigger-scm:
519 choosing-strategy: 'default'
520 submodule-recursive: '{submodule-recursive}'
524 build-timeout: '{build-timeout}'
529 - gerrit-trigger-release-manually:
530 server: '{server-name}'
536 - provide-maven-settings:
537 global-settings-file: 'global-settings'
538 settings-file: '{mvn-settings}'
541 properties-file: '{version-properties}'
542 - maven-set-release-version:
543 maven-version: '{maven-version}'
544 mvn-settings: '{mvn-settings}'
548 maven-version: '{maven-version}'
550 goals: 'clean deploy -B
551 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
553 - '{maven-deploy-properties}'
554 settings: '{mvn-settings}'
556 global-settings: 'global-settings'
557 global-settings-type: cfp
561 maven-version: '{maven-version}'
564 - job-template: &merge_java_defaults
565 # Job template for Java merge jobs
567 # The purpose of this job template is to run:
568 # 1. maven clean deploy
570 # Required Variables:
571 # branch: git branch (eg. stable/lithium or master)
573 name: '{project-name}-{stream}-merge-java'
575 project-type: freestyle
586 build-days-to-keep: '{build-days-to-keep}'
592 refspec: 'refs/heads/{branch}'
593 artifacts: '{archive-artifacts}'
595 maven-version: '{maven-version}'
598 - gerrit-trigger-scm:
600 choosing-strategy: 'default'
601 submodule-recursive: '{submodule-recursive}'
605 build-timeout: '{build-timeout}'
608 - gerrit-trigger-patch-merged:
609 server: '{server-name}'
617 condition-kind: regex-match
618 regex: .*(amd64|arm64).*
619 label: '{project-name}'
621 - shell: !include-raw-escape: global-jjb/shell/docker-login.sh
622 - provide-maven-settings:
623 global-settings-file: 'global-settings'
624 settings-file: '{mvn-settings}'
626 maven-version: '{maven-version}'
628 goals: 'clean deploy -B {mvn-params}
629 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
631 - MAVEN_OPTS='{mvn-opts}'
634 settings: '{mvn-settings}'
636 global-settings: 'global-settings'
637 global-settings-type: cfp
638 properties: '{obj:mvn_properties}'
642 maven-version: '{maven-version}'
645 # Job template for Java merge jobs based on
646 # '{project-name}-{stream}-merge-java'
647 # The purpose of this job template is to run:
648 # 1. maven clean deploy
650 # This project supports maven properties.
652 # Required Variables:
653 # branch: git branch (eg. stable/lithium or master)
654 # maven-properties: properties passed to maven
656 <<: *merge_java_defaults
657 name: '{project-name}-{stream}-merge-properties-java'
660 # Job template for Java merge jobs that takes a maven template
662 # The purpose of this job template is to run:
663 # 1. maven clean deploy -P {mvn-profile}
665 # Required Variables:
666 # branch: git branch (eg. stable/lithium or master)
668 <<: *merge_java_defaults
669 name: '{project-name}-{stream}-merge-profile-java'
673 - provide-maven-settings:
674 global-settings-file: 'global-settings'
675 settings-file: '{mvn-settings}'
680 maven-version: '{maven-version}'
681 goals: 'clean deploy -P {mvn-profile} -B
682 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
683 settings: '{mvn-settings}'
685 global-settings: 'global-settings'
686 global-settings-type: cfp
688 - docker.pull.registry=nexus3.onap.org:10001
689 - docker.push.registry=nexus3.onap.org:10003
692 # Job template for Java merge jobs with POM not at the root
694 # The purpose of this job template is to run:
695 # 1. maven clean deploy
697 # This job supports subprojects.
699 # Required Variables:
700 # branch: git branch (eg. stable/lithium or master)
701 # pom: name/location of the pom.xml file relative to the workspace
702 # pattern: ant file-path pattern relative to the workspace used to
705 <<: *merge_java_defaults
706 name: '{project-name}-{stream}-{subproject}-merge-java'
708 - job-template: &docker_java_defaults
709 # Job template for Docker daily jobs
711 # The purpose of this job template is to run:
712 # 1. login to the docker registry
715 # Required Variables:
716 # branch: git branch (eg. stable/lithium or master)
718 name: '{project-name}-{stream}-docker-java-daily'
719 id: '{project-name}-{stream}-docker-java-daily'
720 project-type: freestyle
722 disabled: '{disabled}'
725 build-days-to-keep: '{build-days-to-keep}'
731 refspec: 'refs/heads/{branch}'
732 artifacts: '{archive-artifacts}'
734 maven-version: '{maven-version}'
736 mvn-params: '{mvn-params}'
739 - gerrit-trigger-scm:
741 choosing-strategy: 'default'
742 submodule-recursive: '{submodule-recursive}'
746 build-timeout: '{build-timeout}'
751 - gerrit-trigger-release-manually:
752 server: '{server-name}'
758 - provide-maven-settings:
759 global-settings-file: 'global-settings'
760 settings-file: '{mvn-settings}'
764 - maven-docker-push-daily:
765 maven-version: '{maven-version}'
766 mvn-settings: '{mvn-settings}'
768 # use default as mvn-profile if profile is not needed
769 mvn-profile: '{mvn-profile}'
770 mvn-params: '{mvn-params}'
774 maven-version: '{maven-version}'
777 # Job template for Docker daily jobs
779 # The purpose of this job template is to run:
780 # 1. login to the docker registry
783 # Required Variables:
784 # branch: git branch (eg. stable/lithium or master)
786 <<: *docker_java_defaults
787 name: '{project-name}-{stream}-docker-java-daily'
788 id: docker-java-daily
791 - infra-wrappers-docker-build:
792 build-timeout: '{build-timeout}'
795 # Job template for building & pushing docker images
797 # The purpose of this job template is to run:
798 # 1. login to the docker registry
799 # 2. maven clean deploy on the specified profile
801 # This job uses a conditional regex match step to set versions.
802 # This template supports maven properties.
804 # Required Variables:
805 # pom: name/location of the pom.xml file relative to the workspace
806 # profile: the docker profile defined in the pom
807 # maven-properties: properties passed to maven
809 name: '{project-name}-{stream}-docker-java-properties-daily'
810 project-type: freestyle
812 disabled: '{disabled}'
815 build-days-to-keep: '{build-days-to-keep}'
820 refspec: 'refs/heads/{branch}'
821 artifacts: '{archive-artifacts}'
823 maven-version: '{maven-version}'
825 mvn-params: '{mvn-params}'
827 - gerrit-trigger-scm:
829 choosing-strategy: 'default'
830 submodule-recursive: '{submodule-recursive}'
833 build-timeout: '{build-timeout}'
837 - gerrit-trigger-release-manually:
838 server: '{server-name}'
843 - provide-maven-settings:
844 global-settings-file: 'global-settings'
845 settings-file: '{mvn-settings}'
847 condition-kind: regex-match
849 label: '{setVersion}'
852 properties-file: version.properties
853 - maven-set-release-version:
854 maven-version: '{maven-version}'
855 mvn-settings: '{mvn-settings}'
858 - maven-docker-push-daily:
859 maven-version: '{maven-version}'
860 mvn-settings: '{mvn-settings}'
862 properties: '{maven-properties}'
863 # use default as mvn-profile if profile is not needed
864 mvn-profile: '{mvn-profile}'
865 mvn-params: '{mvn-params}'
868 maven-version: '{maven-version}'
871 # Job template for building & pushing docker images
873 # The purpose of this job template is to run:
874 # 1. login to the docker registry
875 # 2. run a specified shell builder
877 # Required Variables:
878 # pom: name/location of the pom.xml file relative to the workspace
879 # maven-properties: properties passed to maven
881 name: '{project-name}-{stream}-docker-java-shell-daily'
882 project-type: freestyle
884 disabled: '{disabled}'
887 build-days-to-keep: '{build-days-to-keep}'
893 refspec: 'refs/heads/{branch}'
894 artifacts: '{archive-artifacts}'
896 maven-version: '{maven-version}'
899 - gerrit-trigger-scm:
901 choosing-strategy: 'default'
902 submodule-recursive: '{submodule-recursive}'
906 build-timeout: '{build-timeout}'
911 - gerrit-trigger-release-manually:
912 server: '{server-name}'
918 - provide-maven-settings:
919 global-settings-file: 'global-settings'
920 settings-file: '{mvn-settings}'
925 maven-version: '{maven-version}'
927 settings: '{mvn-settings}'
929 global-settings: 'global-settings'
930 global-settings-type: cfp
936 maven-version: '{maven-version}'
939 # Job template for building & pushing docker images
941 # The purpose of this job template is to run:
942 # 1. login to the docker registry
943 # 2. run a specified shell builder
945 # Required Variables:
946 # pom: name/location of the pom.xml file relative to the workspace
947 # maven-properties: properties passed to maven
949 name: '{project-name}-{stream}-{subproject}-docker-java-shell-daily'
950 project-type: freestyle
952 disabled: '{disabled}'
955 build-days-to-keep: '{build-days-to-keep}'
961 refspec: 'refs/heads/{branch}'
962 artifacts: '{archive-artifacts}'
964 maven-version: '{maven-version}'
967 - gerrit-trigger-scm:
969 choosing-strategy: 'default'
970 submodule-recursive: '{submodule-recursive}'
974 build-timeout: '{build-timeout}'
979 - gerrit-trigger-release-manually:
980 server: '{server-name}'
986 - provide-maven-settings:
987 global-settings-file: 'global-settings'
988 settings-file: '{mvn-settings}'
993 maven-version: '{maven-version}'
996 settings: '{mvn-settings}'
998 global-settings: 'global-settings'
999 global-settings-type: cfp
1005 maven-version: '{maven-version}'
1008 # Job template for building & pushing docker images
1010 # The purpose of this job template is to run:
1011 # 1. login to the docker registry
1012 # 2. inject a version.properties file and set versions
1013 # 3. run a specified shell builder
1015 # Required Variables:
1016 # pom: name/location of the pom.xml file relative to the workspace
1017 # maven-properties: properties passed to maven
1019 name: '{project-name}-{stream}-docker-java-version-shell-daily'
1020 project-type: freestyle
1021 node: '{build-node}'
1022 disabled: '{disabled}'
1025 build-days-to-keep: '{build-days-to-keep}'
1029 project: '{project}'
1031 refspec: 'refs/heads/{branch}'
1032 artifacts: '{archive-artifacts}'
1034 maven-version: '{maven-version}'
1037 - gerrit-trigger-scm:
1039 choosing-strategy: 'default'
1040 submodule-recursive: '{submodule-recursive}'
1044 build-timeout: '{build-timeout}'
1049 - gerrit-trigger-release-manually:
1050 server: '{server-name}'
1051 project: '{project}'
1055 - lf-infra-pre-build
1056 - provide-maven-settings:
1057 global-settings-file: 'global-settings'
1058 settings-file: '{mvn-settings}'
1061 properties-file: version.properties
1062 - maven-set-release-version:
1063 maven-version: '{maven-version}'
1064 mvn-settings: '{mvn-settings}'
1070 maven-version: '{maven-version}'
1071 goals: '{mvn-goals}'
1072 settings: '{mvn-settings}'
1074 global-settings: 'global-settings'
1075 global-settings-type: cfp
1081 maven-version: '{maven-version}'
1084 # Job template for building & pushing docker images
1086 # The purpose of this job template is to run:
1087 # 1. login to the docker registry
1088 # 2. inject a version.properties file and set versions
1089 # 3. run a specified shell builder
1091 # This template supports subprojects.
1093 # Required Variables:
1094 # pom: name/location of the pom.xml file relative to the workspace
1095 # maven-properties: properties passed to maven
1097 name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily'
1098 project-type: freestyle
1099 node: 'ubuntu1604-docker-8c-8g'
1100 disabled: '{disabled}'
1103 build-days-to-keep: '{build-days-to-keep}'
1107 project: '{project}'
1109 refspec: 'refs/heads/{branch}'
1110 artifacts: '{archive-artifacts}'
1112 maven-version: '{maven-version}'
1115 - gerrit-trigger-scm:
1117 choosing-strategy: 'default'
1118 submodule-recursive: '{submodule-recursive}'
1122 build-timeout: '{build-timeout}'
1127 - gerrit-trigger-release-manually:
1128 server: '{server-name}'
1129 project: '{project}'
1133 - lf-infra-pre-build
1134 - provide-maven-settings:
1135 global-settings-file: 'global-settings'
1136 settings-file: '{mvn-settings}'
1139 properties-file: version.properties
1140 - maven-set-release-version:
1141 maven-version: '{maven-version}'
1142 mvn-settings: '{mvn-settings}'
1148 maven-version: '{maven-version}'
1150 goals: '{mvn-goals}'
1151 settings: '{mvn-settings}'
1153 global-settings: 'global-settings'
1154 global-settings-type: cfp
1160 maven-version: '{maven-version}'
1162 - job-template: &docker_version_java_defaults
1163 # Job template for building & pushing docker images
1165 # The purpose of this job template is to run:
1166 # 1. login to the docker registry
1167 # 2. inject a version.properties file and set versions
1168 # 3. run a docker push
1170 # Required Variables:
1171 # pom: name/location of the pom.xml file relative to the workspace
1172 # profile: the docker profile defined in the pom
1173 # maven-properties: properties passed to maven
1175 name: '{project-name}-{stream}-docker-version-java-daily'
1176 id: '{project-name}-{stream}-docker-version-java-daily'
1177 project-type: freestyle
1178 node: '{build-node}'
1179 disabled: '{disabled}'
1182 build-days-to-keep: '{build-days-to-keep}'
1186 project: '{project}'
1188 refspec: 'refs/heads/{branch}'
1189 artifacts: '{archive-artifacts}'
1191 maven-version: '{maven-version}'
1193 mvn-params: '{mvn-params}'
1196 - gerrit-trigger-scm:
1198 choosing-strategy: 'default'
1199 submodule-recursive: '{submodule-recursive}'
1203 build-timeout: '{build-timeout}'
1208 - gerrit-trigger-release-manually:
1209 server: '{server-name}'
1210 project: '{project}'
1214 - lf-infra-pre-build
1215 - provide-maven-settings:
1216 global-settings-file: 'global-settings'
1217 settings-file: '{mvn-settings}'
1220 properties-file: version.properties
1221 - maven-set-release-version:
1222 maven-version: '{maven-version}'
1223 mvn-settings: '{mvn-settings}'
1228 - maven-docker-push-daily:
1229 maven-version: '{maven-version}'
1230 mvn-settings: '{mvn-settings}'
1232 # use default as mvn-profile if profile is not needed
1233 mvn-profile: '{mvn-profile}'
1234 mvn-params: '{mvn-params}'
1238 maven-version: '{maven-version}'
1241 # Job template for building & pushing docker images
1243 # The purpose of this job template is to run:
1244 # 1. login to the docker registry
1245 # 2. inject a version.properties file and set versions
1246 # 3. run a docker push
1248 # Required Variables:
1249 # pom: name/location of the pom.xml file relative to the workspace
1250 # profile: the docker profile defined in the pom
1251 # maven-properties: properties passed to maven
1253 <<: *docker_version_java_defaults
1254 name: '{project-name}-{stream}-docker-version-java-daily'
1255 id: 'docker-version-java-daily'
1256 node: '{build-node}'
1258 - infra-wrappers-docker-build:
1259 build-timeout: '{build-timeout}'
1262 # Job template for building & pushing docker images for AAI specific repos
1264 # The purpose of this job template is to run:
1265 # 1. login to the docker registry
1266 # 2. run maven goals
1267 # 3. run include-docker-push.sh
1269 # Required Variables:
1270 # pom: name/location of the pom.xml file relative to the workspace
1271 # maven-properties: properties passed to maven
1273 name: '{project-name}-{stream}-aai-docker-java-daily'
1274 project-type: freestyle
1275 node: '{build-node}'
1276 docker-image-name: ''
1277 disabled: '{disabled}'
1280 build-days-to-keep: '{build-days-to-keep}'
1284 project: '{project}'
1286 refspec: 'refs/heads/{branch}'
1287 artifacts: '{archive-artifacts}'
1289 maven-version: '{maven-version}'
1290 - docker-image-name:
1291 docker-image-name: '{docker-image-name}'
1294 - gerrit-trigger-scm:
1296 choosing-strategy: 'default'
1297 submodule-recursive: '{submodule-recursive}'
1301 build-timeout: '{build-timeout}'
1306 - gerrit-trigger-release-manually:
1307 server: '{server-name}'
1308 project: '{project}'
1312 - lf-infra-pre-build
1313 - provide-maven-settings:
1314 global-settings-file: 'global-settings'
1315 settings-file: '{mvn-settings}'
1320 maven-version: '{maven-version}'
1322 goals: 'clean install -DskipTests -B
1323 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
1324 settings: '{mvn-settings}'
1326 global-settings: 'global-settings'
1327 global-settings-type: cfp
1330 maven-version: '{maven-version}'
1332 goals: '{mvn-goals}'
1333 settings: '{mvn-settings}'
1335 global-settings: 'global-settings'
1336 global-settings-type: cfp
1338 - maven.test.skip=true
1339 - docker.pull.registry=nexus3.onap.org:10001
1340 - docker.push.registry=nexus3.onap.org:10003
1342 - shell: !include-raw-escape: include-docker-push.sh
1346 maven-version: '{maven-version}'
1349 # Job template for Java merge jobs for SDC specific repos
1351 # The purpose of this job template is to run:
1352 # 1. maven clean deploy
1354 # Required Variables:
1355 # branch: git branch (eg. stable/lithium or master)
1357 <<: *merge_java_defaults
1358 name: '{project-name}-{stream}-sdc-merge-java'
1360 node: '{build-node}'
1364 - lf-infra-pre-build
1365 - provide-maven-settings:
1366 global-settings-file: 'global-settings'
1367 settings-file: '{mvn-settings}'
1371 - maven-docker-push-daily:
1372 maven-version: '{maven-version}'
1373 mvn-settings: '{mvn-settings}'
1375 # use default as mvn-profile if profile is not needed
1376 mvn-profile: '{mvn-profile}'
1380 # Job template for Java merge jobs on multiple architectures
1382 # The purpose of this job template is to:
1383 # 1. Run parallel {project-name}-{stream}-verify-java jobs for each supported architecture
1384 # 2. Build and push a docker manifest list for the images created by
1387 name: '{project-name}-multiarch-{stream}-merge-java'
1388 node: '{build-node}'
1389 project-type: multijob
1390 disabled: '{obj:disabled}'
1394 - lf-infra-parameters:
1395 project: '{project}'
1399 name: DOCKER_REGISTRY
1402 name: DOCKERHUB_REGISTRY
1403 default: 'registry-1.docker.io'
1410 use-build-blocker: true
1412 - '{project-name}-.*-merge-.*'
1413 blocking-level: 'NODE'
1416 - gerrit-trigger-scm:
1418 choosing-strategy: 'default'
1419 submodule-recursive: '{submodule-recursive}'
1423 build-timeout: '{build-timeout}'
1426 - gerrit-trigger-patch-merged:
1427 server: '{server-name}'
1428 project: '{project}'
1434 name: 'build docker images'
1436 execution-type: PARALLEL
1438 - name: '{project-name}-amd64-{stream}-merge-java'
1439 kill-phase-on: FAILURE
1440 current-parameters: true
1441 - name: '{project-name}-arm64-{stream}-merge-java'
1442 kill-phase-on: NEVER
1443 current-parameters: true
1445 name: 'publish docker manifest'
1446 condition: SUCCESSFUL
1447 execution-type: PARALLEL
1449 - name: '{project-name}-docker-manifest-{stream}'
1450 current-parameters: true
1451 predefined-parameters: |
1452 PARENT_JOB_NAME=$JOB_NAME
1453 DOCKERHUB_REGISTRY=docker.io