| --- |
| - job-template: &verify_java_defaults |
| # Job template for Java verify jobs |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean install |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| name: "{project-name}-{stream}-verify-java" |
| |
| project-type: freestyle |
| concurrent: true |
| node: "{build-node}" |
| build-env-variables: "" |
| pattern: "**" |
| pom: |
| mvn-opts: "" |
| java-opts: "" |
| java-version: openjdk8 |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| - maven-params: |
| mvn-params: "{mvn-params}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "$GERRIT_REFSPEC" |
| choosing-strategy: "gerrit" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| - gerrit-trigger-patch-submitted: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| files: "{obj:pattern}" |
| |
| builders: |
| - lf-infra-pre-build |
| - lf-update-java-alternatives: |
| java-version: "{java-version}" |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| - inject: |
| properties-content: "{build-env-variables}" |
| - maven-target: |
| maven-version: "{maven-version}" |
| pom: "{obj:pom}" |
| # yamllint disable rule:line-length |
| goals: "clean install -B |
| -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}" |
| # yamlline enable |
| properties: |
| - MAVEN_OPTS='{mvn-opts}' |
| java-opts: |
| - "{java-opts}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: |
| # Job template for Java verify jobs running checkstyle at the end |
| # When checkstyle will be fully incorporated, it is meant to replace |
| # '{project-name}-{stream}-verify-java-checkstyle' |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean install |
| # |
| # This job publishes checkstyle results. |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| <<: *verify_java_defaults |
| name: "{project-name}-{stream}-verify-java-checkstyle" |
| |
| publishers: |
| - lf-infra-publish |
| - checkstyle-result |
| |
| - job-template: |
| # Job template for Java verify jobs with POM not at the root |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean install |
| # |
| # This job supports subprojects. |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| # pom: name/location of the pom.xml file relative to the workspace |
| # pattern: ant file-path pattern relative to the workspace used to |
| # trigger the job |
| |
| <<: *verify_java_defaults |
| name: "{project-name}-{stream}-{subproject}-verify-java" |
| |
| - job-template: |
| # Job template for Java integration pairwise jobs |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean install |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| <<: *verify_java_defaults |
| name: "{project-name}-{stream}-integration-pairwise" |
| triggers: |
| - gerrit-trigger-patch-submitted: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| files: "{obj:pattern}" |
| |
| - job-template: |
| # Job template for Java daily release jobs running checkstyle at the end |
| # When checkstyle will be fully incorporated, it is meant to replace |
| # '{project-name}-{stream}-release-java-daily' |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean deploy with Sonar scans |
| # |
| # This job publishes checkstyle results. |
| # This job uses a conditional regex match step to set versions. |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| name: "{project-name}-{stream}-release-java-daily-checkstyle" |
| project-type: freestyle |
| node: "{build-node}" |
| disabled: false |
| maven-deploy-properties: |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| triggers: |
| # 11 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| builders: |
| - lf-infra-pre-build |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| - conditional-step: |
| condition-kind: regex-match |
| regex: DoSetVersion |
| label: "{setVersion}" |
| steps: |
| - inject: |
| properties-file: version.properties |
| - maven-set-release-version: |
| maven-version: "{maven-version}" |
| mvn-settings: "{mvn-settings}" |
| pom: |
| - maven-target: |
| maven-version: "{maven-version}" |
| goals: "clean deploy -B |
| -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" |
| properties: "{obj:mvn_properties}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| |
| publishers: |
| - lf-infra-publish |
| - checkstyle-result-daily |
| |
| - job-template: |
| # Job template for Java daily release jobs |
| # |
| # The purpose of this job template is to run: |
| # 1. maven set versions |
| # 2. maven clean deploy with Sonar scans |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| name: "{project-name}-{stream}-release-version-java-daily" |
| |
| project-type: freestyle |
| disabled: false |
| node: "{build-node}" |
| maven-deploy-properties: |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| # 11 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| |
| builders: |
| - lf-infra-pre-build |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - inject: |
| properties-file: version.properties |
| - maven-set-release-version: |
| maven-version: "{maven-version}" |
| mvn-settings: "{mvn-settings}" |
| pom: |
| |
| - maven-target: |
| maven-version: "{maven-version}" |
| goals: "clean deploy -B |
| -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" |
| properties: |
| - "{maven-deploy-properties}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: &merge_java_defaults |
| # Job template for Java merge jobs |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean deploy |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| name: "{project-name}-{stream}-merge-java" |
| |
| project-type: freestyle |
| node: "{build-node}" |
| pattern: "**" |
| pom: |
| mvn_properties: [] |
| mvn-params: "" |
| mvn-opts: "" |
| java-opts: "" |
| java-version: openjdk8 |
| |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: "{build-timeout}" |
| jenkins-ssh-credential: "{jenkins-ssh-credential}" |
| |
| triggers: |
| - gerrit-trigger-patch-merged: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| files: "{pattern}" |
| |
| builders: |
| - lf-infra-pre-build |
| - lf-update-java-alternatives: |
| java-version: "{java-version}" |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| - conditional-step: |
| condition-kind: regex-match |
| regex: .*(amd64|arm64).* |
| label: "{project-name}" |
| steps: |
| - shell: !include-raw-escape: global-jjb/shell/docker-login.sh |
| - maven-target: |
| maven-version: "{maven-version}" |
| pom: "{obj:pom}" |
| goals: "clean deploy -B {mvn-params} |
| -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" |
| java-opts: |
| - "{java-opts}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| properties: "{obj:mvn_properties}" |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: |
| # Job template for Java merge jobs based on |
| # '{project-name}-{stream}-merge-java' |
| # The purpose of this job template is to run: |
| # 1. maven clean deploy |
| # |
| # This project supports maven properties. |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| # maven-properties: properties passed to maven |
| |
| <<: *merge_java_defaults |
| name: "{project-name}-{stream}-merge-properties-java" |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: "{build-timeout}" |
| jenkins-ssh-credential: "{jenkins-ssh-credential}" |
| |
| - job-template: |
| # Job template for Java merge jobs that takes a maven template |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean deploy -P {mvn-profile} |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| <<: *merge_java_defaults |
| name: "{project-name}-{stream}-merge-profile-java" |
| |
| builders: |
| - lf-infra-pre-build |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - docker-login |
| |
| - maven-target: |
| maven-version: "{maven-version}" |
| goals: "clean deploy -P {mvn-profile} -B |
| -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| properties: |
| - docker.pull.registry=nexus3.onap.org:10001 |
| - docker.push.registry=nexus3.onap.org:10003 |
| |
| - job-template: |
| # Job template for Java merge jobs with POM not at the root |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean deploy |
| # |
| # This job supports subprojects. |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| # pom: name/location of the pom.xml file relative to the workspace |
| # pattern: ant file-path pattern relative to the workspace used to |
| # trigger the job |
| |
| <<: *merge_java_defaults |
| name: "{project-name}-{stream}-{subproject}-merge-java" |
| |
| - job-template: &docker_java_defaults |
| # Job template for Docker daily jobs |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. docker push |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| name: "{project-name}-{stream}-docker-java-daily" |
| id: "{project-name}-{stream}-docker-java-daily" |
| project-type: freestyle |
| node: "{build-node}" |
| disabled: false |
| java-version: openjdk8 |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| - maven-params: |
| mvn-params: "{mvn-params}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| # 12 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| |
| builders: |
| - lf-infra-pre-build |
| - lf-update-java-alternatives: |
| java-version: "{java-version}" |
| |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - docker-login |
| |
| - maven-docker-push-daily: |
| maven-version: "{maven-version}" |
| mvn-settings: "{mvn-settings}" |
| pom: "{docker-pom}" |
| # use default as mvn-profile if profile is not needed |
| mvn-profile: "{mvn-profile}" |
| mvn-params: "{mvn-params}" |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: |
| # Job template for Docker daily jobs |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. docker push |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| <<: *docker_java_defaults |
| name: "{project-name}-{stream}-docker-java-daily" |
| id: docker-java-daily |
| node: "{build-node}" |
| wrappers: |
| - infra-wrappers-docker-build: |
| build-timeout: "{build-timeout}" |
| |
| - job-template: |
| # Job template for building & pushing docker images |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. run a specified shell builder |
| # |
| # Required Variables: |
| # pom: name/location of the pom.xml file relative to the workspace |
| # maven-properties: properties passed to maven |
| |
| name: "{project-name}-{stream}-docker-java-shell-daily" |
| project-type: freestyle |
| node: "{build-node}" |
| disabled: false |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| # 12 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| |
| builders: |
| - lf-infra-pre-build |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - docker-login |
| |
| - maven-target: |
| maven-version: "{maven-version}" |
| goals: "{mvn-goals}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| |
| - shell: "{script}" |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: |
| # Job template for building & pushing docker images |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. run a specified shell builder |
| # |
| # Required Variables: |
| # pom: name/location of the pom.xml file relative to the workspace |
| # maven-properties: properties passed to maven |
| |
| name: "{project-name}-{stream}-{subproject}-docker-java-shell-daily" |
| project-type: freestyle |
| node: "{build-node}" |
| disabled: false |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| # 12 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| |
| builders: |
| - lf-infra-pre-build |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - docker-login |
| |
| - maven-target: |
| maven-version: "{maven-version}" |
| pom: "{pom}" |
| goals: "{mvn-goals}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| |
| - shell: "{script}" |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: |
| # Job template for building & pushing docker images |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. inject a version.properties file and set versions |
| # 3. run a specified shell builder |
| # |
| # Required Variables: |
| # pom: name/location of the pom.xml file relative to the workspace |
| # maven-properties: properties passed to maven |
| |
| name: "{project-name}-{stream}-docker-java-version-shell-daily" |
| project-type: freestyle |
| node: "{build-node}" |
| disabled: false |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| # 12 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| |
| builders: |
| - lf-infra-pre-build |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - inject: |
| properties-file: version.properties |
| - maven-set-release-version: |
| maven-version: "{maven-version}" |
| mvn-settings: "{mvn-settings}" |
| pom: |
| |
| - docker-login |
| |
| - maven-target: |
| maven-version: "{maven-version}" |
| goals: "{mvn-goals}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| |
| - shell: "{script}" |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: |
| # Job template for building & pushing docker images |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. inject a version.properties file and set versions |
| # 3. run a specified shell builder |
| # |
| # This template supports subprojects. |
| # |
| # Required Variables: |
| # pom: name/location of the pom.xml file relative to the workspace |
| # maven-properties: properties passed to maven |
| |
| name: "{project-name}-{stream}-{subproject}-docker-java-version-shell-daily" |
| project-type: freestyle |
| node: "ubuntu1804-docker-8c-8g" |
| disabled: false |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| # 12 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| |
| builders: |
| - lf-infra-pre-build |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - inject: |
| properties-file: version.properties |
| - maven-set-release-version: |
| maven-version: "{maven-version}" |
| mvn-settings: "{mvn-settings}" |
| pom: "{pom}" |
| |
| - docker-login |
| |
| - maven-target: |
| maven-version: "{maven-version}" |
| pom: "{pom}" |
| goals: "{mvn-goals}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| |
| - shell: "{script}" |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: &docker_version_java_defaults |
| # Job template for building & pushing docker images |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. inject a version.properties file and set versions |
| # 3. run a docker push |
| # |
| # Required Variables: |
| # pom: name/location of the pom.xml file relative to the workspace |
| # profile: the docker profile defined in the pom |
| # maven-properties: properties passed to maven |
| |
| name: "{project-name}-{stream}-docker-version-java-daily" |
| id: "{project-name}-{stream}-docker-version-java-daily" |
| project-type: freestyle |
| node: "{build-node}" |
| disabled: false |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| - maven-params: |
| mvn-params: "{mvn-params}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| # 12 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| |
| builders: |
| - lf-infra-pre-build |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - inject: |
| properties-file: version.properties |
| - maven-set-release-version: |
| maven-version: "{maven-version}" |
| mvn-settings: "{mvn-settings}" |
| pom: |
| |
| - docker-login |
| |
| - maven-docker-push-daily: |
| maven-version: "{maven-version}" |
| mvn-settings: "{mvn-settings}" |
| pom: "{docker-pom}" |
| # use default as mvn-profile if profile is not needed |
| mvn-profile: "{mvn-profile}" |
| mvn-params: "{mvn-params}" |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: |
| # Job template for building & pushing docker images |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. inject a version.properties file and set versions |
| # 3. run a docker push |
| # |
| # Required Variables: |
| # pom: name/location of the pom.xml file relative to the workspace |
| # profile: the docker profile defined in the pom |
| # maven-properties: properties passed to maven |
| |
| <<: *docker_version_java_defaults |
| name: "{project-name}-{stream}-docker-version-java-daily" |
| id: "docker-version-java-daily" |
| node: "{build-node}" |
| wrappers: |
| - infra-wrappers-docker-build: |
| build-timeout: "{build-timeout}" |
| |
| - job-template: |
| # Job template for building & pushing docker images for AAI specific repos |
| # |
| # The purpose of this job template is to run: |
| # 1. login to the docker registry |
| # 2. run maven goals |
| # 3. run include-docker-push.sh |
| # |
| # Required Variables: |
| # pom: name/location of the pom.xml file relative to the workspace |
| # maven-properties: properties passed to maven |
| |
| name: "{project-name}-{stream}-aai-docker-java-daily" |
| project-type: freestyle |
| node: "{build-node}" |
| docker-image-name: "" |
| disabled: false |
| java-version: "openjdk8" |
| properties: |
| - infra-properties: |
| build-days-to-keep: "{build-days-to-keep}" |
| |
| parameters: |
| - infra-parameters: |
| project: "{project}" |
| branch: "{branch}" |
| refspec: "refs/heads/{branch}" |
| artifacts: "{archive-artifacts}" |
| - maven-exec: |
| maven-version: "{maven-version}" |
| - docker-image-name: |
| docker-image-name: "{docker-image-name}" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| # 12 AM UTC |
| - gerrit-trigger-release-manually: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| |
| builders: |
| - lf-infra-pre-build |
| - lf-update-java-alternatives: |
| java-version: "{java-version}" |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - docker-login |
| |
| - maven-target: |
| maven-version: "{maven-version}" |
| pom: "pom.xml" |
| goals: "clean install -DskipTests -B |
| -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| |
| - maven-target: |
| maven-version: "{maven-version}" |
| pom: "{pom}" |
| goals: "{mvn-goals}" |
| settings: "{mvn-settings}" |
| settings-type: cfp |
| global-settings: "global-settings" |
| global-settings-type: cfp |
| properties: |
| - maven.test.skip=true |
| - docker.pull.registry=nexus3.onap.org:10001 |
| - docker.push.registry=nexus3.onap.org:10003 |
| |
| - shell: !include-raw-escape: include-docker-push.sh |
| |
| publishers: |
| - lf-infra-publish |
| |
| - job-template: |
| # Job template for Java merge jobs for SDC specific repos |
| # |
| # The purpose of this job template is to run: |
| # 1. maven clean deploy |
| # |
| # Required Variables: |
| # branch: git branch (eg. stable/lithium or master) |
| |
| <<: *merge_java_defaults |
| name: "{project-name}-{stream}-sdc-merge-java" |
| |
| node: "{build-node}" |
| build-timeout: 120 |
| |
| builders: |
| - lf-infra-pre-build |
| - lf-update-java-alternatives: |
| java-version: "{java-version}" |
| - provide-maven-settings: |
| global-settings-file: "global-settings" |
| settings-file: "{mvn-settings}" |
| |
| - docker-login |
| |
| - maven-docker-push-daily: |
| maven-version: "{maven-version}" |
| mvn-settings: "{mvn-settings}" |
| pom: "{docker-pom}" |
| # use default as mvn-profile if profile is not needed |
| mvn-profile: "{mvn-profile}" |
| mvn-params: "" |
| |
| - job-template: |
| # Job template for Java merge jobs on multiple architectures |
| # |
| # The purpose of this job template is to: |
| # 1. Run parallel {project-name}-{stream}-verify-java jobs for each supported architecture |
| # 2. Build and push a docker manifest list for the images created by |
| # the previous jobs |
| |
| name: "{project-name}-multiarch-{stream}-merge-java" |
| node: "{build-node}" |
| project-type: multijob |
| disabled: "{obj:disabled}" |
| pattern: "**" |
| |
| parameters: |
| - lf-infra-parameters: |
| project: "{project}" |
| stream: "{stream}" |
| branch: "{branch}" |
| - string: |
| name: DOCKER_REGISTRY |
| default: "none" |
| - string: |
| name: DOCKERHUB_REGISTRY |
| default: "registry-1.docker.io" |
| |
| properties: |
| - throttle: |
| max-per-node: 1 |
| option: "project" |
| - build-blocker: |
| use-build-blocker: true |
| blocking-jobs: |
| - "{project-name}-.*-merge-.*" |
| blocking-level: "NODE" |
| |
| scm: |
| - gerrit-trigger-scm: |
| refspec: "" |
| choosing-strategy: "default" |
| submodule-recursive: "{submodule-recursive}" |
| |
| wrappers: |
| - infra-wrappers: |
| build-timeout: "{build-timeout}" |
| |
| triggers: |
| - gerrit-trigger-patch-merged: |
| server: "{server-name}" |
| project: "{project}" |
| branch: "{branch}" |
| files: "{pattern}" |
| |
| builders: |
| - multijob: |
| name: "build docker images" |
| condition: ALWAYS |
| execution-type: PARALLEL |
| projects: |
| - name: "{project-name}-amd64-{stream}-merge-java" |
| kill-phase-on: FAILURE |
| current-parameters: true |
| - name: "{project-name}-arm64-{stream}-merge-java" |
| kill-phase-on: NEVER |
| current-parameters: true |
| - multijob: |
| name: "publish docker manifest" |
| condition: SUCCESSFUL |
| execution-type: PARALLEL |
| projects: |
| - name: "{project-name}-docker-manifest-{stream}" |
| current-parameters: true |
| predefined-parameters: | |
| PARENT_JOB_NAME=$JOB_NAME |
| DOCKERHUB_REGISTRY=docker.io |