X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=jjb%2Fglobal-templates-java.yaml;h=ff021db1cd52d95fe9ab8e457a8f1266ba4d8d96;hb=0e9584e187edb624e37bb3f1845df100bf8b5a1d;hp=b1750d6034f5fbdde528bddacef8aaaeba72c3f8;hpb=34fcb1df5967366f73674a6e22c18a1e15476211;p=ci-management.git diff --git a/jjb/global-templates-java.yaml b/jjb/global-templates-java.yaml index b1750d603..ff021db1c 100644 --- a/jjb/global-templates-java.yaml +++ b/jjb/global-templates-java.yaml @@ -1,19 +1,24 @@ --- -- job-template: +- job-template: &verify_java_defaults # Job template for Java verify jobs # # The purpose of this job template is to run: - # 1. maven clean install -DskipTests=true + # 1. maven clean install # # Required Variables: # branch: git branch (eg. stable/lithium or master) - name: '{project-name}-{stream}-verify-java-skip-tests' + 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}' @@ -26,6 +31,8 @@ artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' + - maven-params: + mvn-params: '{mvn-params}' scm: - gerrit-trigger-scm: @@ -42,108 +49,109 @@ server: '{server-name}' project: '{project}' branch: '{branch}' - files: '**' + 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}' - goals: 'clean install -DskipTests=true -B - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' + pom: '{obj:pom}' + goals: 'clean install -B + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}' + properties: + - MAVEN_OPTS='{mvn-opts}' + java-opts: + - "{java-opts}" settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp - maven-opts: - - maven.test.skip=true publishers: - - infra-shiplogs: - maven-version: '{maven-version}' + - lf-infra-publish - job-template: - # Job template for Java verify jobs + # 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) - name: '{project-name}-{stream}-verify-java' - - project-type: freestyle - concurrent: true - node: '{build-node}' + <<: *verify_java_defaults + name: '{project-name}-{stream}-verify-java-checkstyle' - properties: - - infra-properties: - build-days-to-keep: '{build-days-to-keep}' + publishers: + - lf-infra-publish + - checkstyle-result - 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}' +- 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 - scm: - - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - submodule-recursive: '{submodule-recursive}' + <<: *verify_java_defaults + name: '{project-name}-{stream}-{subproject}-verify-java' - wrappers: - - infra-wrappers: - build-timeout: '{build-timeout}' +- 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: + - timed: '@daily' - gerrit-trigger-patch-submitted: server: '{server-name}' project: '{project}' branch: '{branch}' - files: '**' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - maven-target: - maven-version: '{maven-version}' - goals: 'clean install -B - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' + files: '{obj:pattern}' - job-template: - # Job template for Java verify jobs running checkstyle at the end + # 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}-verify-java-checkstyle' + # '{project-name}-{stream}-release-java-daily' # # The purpose of this job template is to run: - # 1. maven clean install + # 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}-verify-java-checkstyle' + name: '{project-name}-{stream}-release-java-daily-checkstyle' project-type: freestyle - concurrent: true node: '{build-node}' + disabled: '{disabled}' + maven-deploy-properties: properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -155,54 +163,67 @@ 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' + refspec: '' + choosing-strategy: 'default' submodule-recursive: '{submodule-recursive}' wrappers: - infra-wrappers: build-timeout: '{build-timeout}' triggers: - - gerrit-trigger-patch-submitted: + # 11 AM UTC + - timed: '@daily' + - gerrit-trigger-release-manually: server: '{server-name}' project: '{project}' branch: '{branch}' - files: '**' 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 install -B - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn {mvn-params}' + 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: - - infra-shiplogs: - maven-version: '{maven-version}' - - checkstyle-result + - lf-infra-publish + - checkstyle-result-daily - job-template: - # Job template for Java verify jobs that takes a maven template + # Job template for Java daily release jobs # # The purpose of this job template is to run: - # 1. maven clean install -P {mvn-profile} + # 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}-verify-profile-java' + name: '{project-name}-{stream}-release-version-java-daily' project-type: freestyle - concurrent: true + disabled: '{disabled}' node: '{build-node}' - + maven-deploy-properties: properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -218,8 +239,8 @@ scm: - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' + refspec: '' + choosing-strategy: 'default' submodule-recursive: '{submodule-recursive}' wrappers: @@ -227,48 +248,60 @@ build-timeout: '{build-timeout}' triggers: - - gerrit-trigger-patch-submitted: + # 11 AM UTC + - timed: '@daily' + - gerrit-trigger-release-manually: server: '{server-name}' project: '{project}' branch: '{branch}' - files: '{files}' 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 install -P {mvn-profile} -B + 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: - - infra-shiplogs: - maven-version: '{maven-version}' + - lf-infra-publish -- job-template: - # Job template for Java verify jobs with POM not at the root +- job-template: &merge_java_defaults + # Job template for Java merge jobs # # The purpose of this job template is to run: - # 1. maven clean install - # - # This job supports subprojects. + # 1. maven clean deploy # # 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 - name: '{project-name}-{stream}-{subproject}-verify-java' + name: '{project-name}-{stream}-merge-java' project-type: freestyle - concurrent: true node: '{build-node}' + pattern: '**' + pom: + mvn_properties: [] + mvn-params: '' + mvn-opts: '' + java-opts: '' + java-version: openjdk8 properties: - infra-properties: @@ -285,54 +318,138 @@ scm: - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' + refspec: '' + choosing-strategy: 'default' submodule-recursive: '{submodule-recursive}' wrappers: - - infra-wrappers: + - lf-infra-wrappers: build-timeout: '{build-timeout}' + jenkins-ssh-credential: '{jenkins-ssh-credential}' triggers: - - gerrit-trigger-patch-submitted: + - 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: '{pom}' - goals: 'clean install -B + pom: '{obj:pom}' + goals: 'clean deploy -B {mvn-params} -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' + properties: + - MAVEN_OPTS='{mvn-opts}' + java-opts: + - "{java-opts}" settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp + properties: '{obj:mvn_properties}' publishers: - - infra-shiplogs: + - 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 daily release jobs + # 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 with Sonar scans + # 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 - name: '{project-name}-{stream}-release-java-daily' + <<: *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: '{disabled}' - maven-deploy-properties: + java-version: openjdk8 properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -345,6 +462,8 @@ artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' + - maven-params: + mvn-params: '{mvn-params}' scm: - gerrit-trigger-scm: @@ -357,1487 +476,68 @@ build-timeout: '{build-timeout}' triggers: - # 11 AM UTC - - timed: 'H 11 * * *' + # 12 AM UTC + - timed: '@daily' - 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}' - - 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}' - java-opts: - - '-Xmx4096m -XX:MaxPermSize=512m' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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: '{disabled}' - 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 - - timed: 'H 11 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - builders: - - 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-target: - maven-version: '{maven-version}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - 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: - - infra-shiplogs: - maven-version: '{maven-version}' - - 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: '{disabled}' - 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 - - timed: 'H H(10-17) * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - inject: - properties-file: version.properties - - maven-target: - maven-version: '{maven-version}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - - 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: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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 -P {mvn-profile} with Sonar scans - # - # Required Variables: - # branch: git branch (eg. stable/lithium or master) - - name: '{project-name}-{stream}-release-version-profile-java-daily' - - project-type: freestyle - node: '{build-node}' - disabled: '{disabled}' - 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 - - timed: 'H 11 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - inject: - properties-file: version.properties - - maven-target: - maven-version: '{maven-version}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - - maven-target: - maven-version: '{maven-version}' - goals: 'clean deploy -P {mvn-profile} -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: - - infra-shiplogs: - maven-version: '{maven-version}' - - -- job-template: - # Job template for Java daily release jobs with POM not at the root - # - # The purpose of this job template is to run: - # 1. maven clean deploy with Sonar scans - # - # 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 - - name: '{project-name}-{stream}-{subproject}-release-java-daily' - - project-type: freestyle - node: '{build-node}' - disabled: '{disabled}' - 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 - - timed: 'H 11 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - maven-target: - maven-version: '{maven-version}' - pom: '{pom}' - goals: 'clean deploy -B - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' - properties: - - '{maven-deploy-properties}' - java-opts: - - '-Xmx4096m -XX:MaxPermSize=512m' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- job-template: - # Job template for Java daily release jobs with POM not at the root - # - # The purpose of this job template is to run: - # 1. maven set versions - # 2. maven clean deploy with Sonar scans - # - # 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 - - name: '{project-name}-{stream}-{subproject}-release-version-java-daily' - - project-type: freestyle - node: '{build-node}' - disabled: '{disabled}' - 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 - - timed: 'H 11 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - inject: - properties-file: version.properties - - maven-target: - maven-version: '{maven-version}' - pom: '{pom}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - - maven-target: - maven-version: '{maven-version}' - pom: '{pom}' - 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: - - infra-shiplogs: - maven-version: '{maven-version}' - -- job-template: - # Job template for Java daily release jobs with POM not at the root - # - # The purpose of this job template is to run: - # 1. maven set versions - # 2. maven clean deploy with Sonar scans - # - # 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 - - name: '{project-name}-{stream}-{subproject}-release-version-java-shell-daily' - - project-type: freestyle - node: '{build-node}' - disabled: '{disabled}' - 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 - - timed: 'H 11 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - inject: - properties-file: version.properties - - maven-target: - maven-version: '{maven-version}' - pom: '{pom}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - - shell: '{script}' - - - maven-target: - maven-version: '{maven-version}' - pom: '{pom}' - goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -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: - - infra-shiplogs: - maven-version: '{maven-version}' - -- job-template: - # 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}' - - 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: - - gerrit-trigger-patch-merged: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: '**' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - maven-target: - maven-version: '{maven-version}' - goals: 'clean deploy -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 - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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 - - name: '{project-name}-{stream}-merge-properties-java' - - project-type: freestyle - node: '{build-node}' - - 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: - - gerrit-trigger-patch-merged: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: '**' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - maven-target: - maven-version: '{maven-version}' - goals: 'clean deploy -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: '{obj:mvn_properties}' - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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) - - name: '{project-name}-{stream}-merge-profile-java' - - project-type: freestyle - node: '{build-node}' - - 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: - - gerrit-trigger-patch-merged: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: '{files}' - - builders: - - 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 - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- job-template: - # Job template for Java merge jobs that should also be triggered by upstream - # merges - # - # Required Variables: - # stream: release stream - # branch: git branch - # dependencies: fully qualified upstream job name to trigger on - # this may be '' - - name: '{project-name}-{stream}-downstream-merge-java' - - project-type: freestyle - node: '{build-node}' - - 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: - - reverse: - jobs: '{dependencies}' - result: 'success' - - gerrit-trigger-patch-merged: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: '**' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - maven-target: - maven-version: '{maven-version}' - goals: 'clean deploy -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 - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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 - - name: '{project-name}-{stream}-{subproject}-merge-java' - - project-type: freestyle - node: '{build-node}' - - 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: - - gerrit-trigger-patch-merged: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: '{pattern}' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - maven-target: - maven-version: '{maven-version}' - pom: '{pom}' - goals: 'clean deploy -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 - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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) - - name: '{project-name}-{stream}-docker-java-daily' - project-type: freestyle - node: 'ubuntu1604-docker-8c-8g' - disabled: '{disabled}' - 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 - - timed: 'H 12 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - - 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}' - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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. maven clean deploy on the specified profile - # - # This job uses a conditional regex match step to set versions. - # This template supports maven properties. - # - # 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-java-properties-daily' - project-type: freestyle - node: 'ubuntu1604-docker-8c-8g' - disabled: '{disabled}' - 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 - - timed: 'H 12 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - builders: - - 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-target: - maven-version: '{maven-version}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - docker-login - - maven-docker-push-daily: - maven-version: '{maven-version}' - mvn-settings: '{mvn-settings}' - pom: '{docker-pom}' - properties: '{maven-properties}' - # use default as mvn-profile if profile is not needed - mvn-profile: '{mvn-profile}' - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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: 'ubuntu1604-docker-8c-8g' - disabled: '{disabled}' - 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 - - timed: 'H 12 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - - 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: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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: 'ubuntu1604-docker-8c-8g' - disabled: '{disabled}' - 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 - - timed: 'H 12 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - inject: - properties-file: version.properties - - - maven-target: - maven-version: '{maven-version}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - - 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: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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: 'ubuntu1604-docker-8c-8g' - disabled: '{disabled}' - 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 - - timed: 'H 12 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - inject: - properties-file: version.properties - - - maven-target: - maven-version: '{maven-version}' - pom: '{pom}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - - 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: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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 - - name: '{project-name}-{stream}-docker-version-java-daily' - project-type: freestyle - node: 'ubuntu1604-docker-8c-8g' - disabled: '{disabled}' - 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 - - timed: 'H 12 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - inject: - properties-file: version.properties - - - maven-target: - maven-version: '{maven-version}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - - 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}' - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- job-template: - # Job template for building & pushing docker images - # - # The purpose of this job template is to run: - # 1. inject a version.properties file and set versions - # 2. login to the docker registry - # 3. run a docker push - # - # This job 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-version-java-daily' - project-type: freestyle - node: 'ubuntu1604-docker-8c-8g' - disabled: '{disabled}' - 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 - - timed: 'H 12 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - - inject: - properties-file: version.properties - - - maven-target: - maven-version: '{maven-version}' - pom: '{pom}' - goals: 'versions:set versions:update-child-modules versions:commit -B' - properties: - - 'newVersion=${{release_version}}' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - - docker-login - - - maven-docker-push-daily: - maven-version: '{maven-version}' - pom: '{pom}' - mvn-settings: '{mvn-settings}' - pom: '{docker-pom}' - # use default as mvn-profile if profile is not needed - mvn-profile: '{mvn-profile}' - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - -- 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: 'ubuntu1604-docker-8c-8g' - docker-image-name: '' - disabled: '{disabled}' - 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 - - timed: 'H 12 * * *' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - - builders: - - - 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 + - docker-login - publishers: - - infra-shiplogs: + - 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 for AAI specific repos + # Job template for Docker daily jobs # # 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 + # 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 # - # This job supports subprojects + # 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}-aai-docker-java-daily' + name: '{project-name}-{stream}-docker-java-shell-daily' project-type: freestyle - node: 'ubuntu1604-docker-8c-8g' + node: '{build-node}' disabled: '{disabled}' - docker-image-name: '' - properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -1850,8 +550,6 @@ artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' - - docker-image-name: - docker-image-name: '{docker-image-name}' scm: - gerrit-trigger-scm: @@ -1865,14 +563,14 @@ triggers: # 12 AM UTC - - timed: 'H 12 * * *' + - timed: '@daily' - 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}' @@ -1881,54 +579,32 @@ - 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 + - shell: '{script}' publishers: - - infra-shiplogs: - maven-version: '{maven-version}' + - lf-infra-publish - job-template: - # Job template for Java daily release jobs + # Job template for building & pushing docker images # # The purpose of this job template is to run: - # 1. inject a version.properties file and set versions - # 2. change version in all POM files to the release version specified - # in version.properties. This is done using a script instread of - # the mvn version plugin that assumes some specific parent structure - # - # The POM files are required to use the Maven staging plugin so the deploy - # does not deploy directly to the release repo. + # 1. login to the docker registry + # 2. run a specified shell builder # # Required Variables: - # branch: git branch (eg. stable/lithium or master) - - name: '{project-name}-{stream}-release-version2-java-daily' + # 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: '{disabled}' - maven-deploy-properties: properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -1953,64 +629,51 @@ build-timeout: '{build-timeout}' triggers: - # 11 AM UTC - - timed: 'H 11 * * *' + # 12 AM UTC + - timed: '@daily' - 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}' - - maven-install: - maven-version: '{maven-version}' - - - inject: - properties-file: version.properties - - shell: !include-raw-escape: include-update-pom-versions.sh + - docker-login - maven-target: maven-version: '{maven-version}' - goals: 'clean deploy site:site site:stage-deploy -B - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' - properties: - - '{maven-deploy-properties}' + pom: '{pom}' + goals: '{mvn-goals}' settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp + - shell: '{script}' + publishers: - - infra-shiplogs: - maven-version: '{maven-version}' + - lf-infra-publish - job-template: - # Job template for Java daily release jobs + # Job template for building & pushing docker images # # The purpose of this job template is to run: - # 1. inject a version.properties file and set versions - # 2. change version in all POM files to the release version specified - # in version.properties. This is done using a script instread of - # the mvn version plugin that assumes some specific parent structure - # - # The POM files are required to use the Maven staging plugin so the deploy - # does not deploy directly to the release repo. + # 1. login to the docker registry + # 2. inject a version.properties file and set versions + # 3. run a specified shell builder # # 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 - - name: '{project-name}-{stream}-{subproject}-release-version2-java-daily' + # maven-properties: properties passed to maven + name: '{project-name}-{stream}-docker-java-version-shell-daily' project-type: freestyle node: '{build-node}' disabled: '{disabled}' - maven-deploy-properties: properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -2035,67 +698,59 @@ build-timeout: '{build-timeout}' triggers: - # 11 AM UTC - - timed: 'H 11 * * *' + # 12 AM UTC + - timed: '@daily' - gerrit-trigger-release-manually: server: '{server-name}' project: '{project}' branch: '{branch}' - files: '{pattern}' builders: + - lf-infra-pre-build - provide-maven-settings: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' - - maven-install: - maven-version: '{maven-version}' - inject: properties-file: version.properties + - maven-set-release-version: + maven-version: '{maven-version}' + mvn-settings: '{mvn-settings}' + pom: - - shell: !include-raw-escape: include-update-pom-versions.sh + - docker-login - maven-target: maven-version: '{maven-version}' - pom: '{pom}' - goals: 'clean deploy site:site site:stage-deploy -B - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' - properties: - - '{maven-deploy-properties}' + goals: '{mvn-goals}' settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp + - shell: '{script}' + publishers: - - infra-shiplogs: - maven-version: '{maven-version}' + - lf-infra-publish - job-template: - # Job template for Java daily release jobs + # Job template for building & pushing docker images # # The purpose of this job template is to run: - # 1. inject a version.properties file and set versions - # 2. change version in all POM files to the release version specified - # in version.properties. This is done using a script instread of - # the mvn version plugin that assumes some specific parent structure - # This version does NOT change the version within the tag + # 1. login to the docker registry + # 2. inject a version.properties file and set versions + # 3. run a specified shell builder # - # The POM files are required to use the Maven staging plugin so the deploy - # does not deploy directly to the release repo. + # This template 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 - - name: '{project-name}-{stream}-{subproject}-release-version3-java-daily' + # maven-properties: properties passed to maven + name: '{project-name}-{stream}-{subproject}-docker-java-version-shell-daily' project-type: freestyle - node: '{build-node}' + node: 'ubuntu1804-docker-8c-8g' disabled: '{disabled}' - maven-deploy-properties: properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -2120,57 +775,60 @@ build-timeout: '{build-timeout}' triggers: - # 11 AM UTC - - timed: 'H 11 * * *' + # 12 AM UTC + - timed: '@daily' - gerrit-trigger-release-manually: server: '{server-name}' project: '{project}' branch: '{branch}' - files: '{pattern}' builders: + - lf-infra-pre-build - provide-maven-settings: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' - - maven-install: - maven-version: '{maven-version}' - inject: properties-file: version.properties + - maven-set-release-version: + maven-version: '{maven-version}' + mvn-settings: '{mvn-settings}' + pom: '{pom}' - - shell: !include-raw-escape: include-update-pom-versions-not-parent.sh + - docker-login - maven-target: maven-version: '{maven-version}' pom: '{pom}' - goals: 'clean deploy site:site site:stage-deploy -B - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' - properties: - - '{maven-deploy-properties}' + goals: '{mvn-goals}' settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp + - shell: '{script}' + publishers: - - infra-shiplogs: - maven-version: '{maven-version}' + - lf-infra-publish -- job-template: - # Job template for Java merge jobs for SDC specific repos +- job-template: &docker_version_java_defaults + # Job template for building & pushing docker images # # The purpose of this job template is to run: - # 1. maven clean deploy + # 1. login to the docker registry + # 2. inject a version.properties file and set versions + # 3. run a docker push # # Required Variables: - # branch: git branch (eg. stable/lithium or master) - - name: '{project-name}-{stream}-sdc-merge-java' + # 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: 'ubuntu1604-docker-8c-8g' - build-timeout: 120 - + node: '{build-node}' + disabled: '{disabled}' properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -2183,6 +841,8 @@ artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' + - maven-params: + mvn-params: '{mvn-params}' scm: - gerrit-trigger-scm: @@ -2195,46 +855,78 @@ build-timeout: '{build-timeout}' triggers: - - gerrit-trigger-patch-merged: + # 12 AM UTC + - timed: '@daily' + - gerrit-trigger-release-manually: server: '{server-name}' project: '{project}' branch: '{branch}' - files: '**' 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-test: + - 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: - - infra-shiplogs: - maven-version: '{maven-version}' + - 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 clean install goals skipping tests - # 3. run maven goals + # 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-version-daily' + name: '{project-name}-{stream}-aai-docker-java-daily' project-type: freestyle - node: 'ubuntu1604-docker-8c-8g' + node: '{build-node}' + docker-image-name: '' disabled: '{disabled}' + java-version: 'openjdk8' properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -2247,6 +939,8 @@ artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' + - docker-image-name: + docker-image-name: '{docker-image-name}' scm: - gerrit-trigger-scm: @@ -2260,14 +954,16 @@ triggers: # 12 AM UTC - - timed: 'H 12 * * *' + - timed: '@daily' - 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}' @@ -2277,7 +973,8 @@ - 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' + 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' @@ -2296,7 +993,116 @@ - docker.pull.registry=nexus3.onap.org:10001 - docker.push.registry=nexus3.onap.org:10003 + - shell: !include-raw-escape: include-docker-push.sh + publishers: - - infra-shiplogs: + - 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