X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=jjb%2Fglobal-templates-java.yaml;h=e31a470df9abaf66f5a6a3e72cffb97b92dea97b;hb=5f77865d6af8d0a254c916b915b579b805bbe9f6;hp=580d65b369b8fe66caa0227d3b080137ab71dbc3;hpb=e8e31c6a5e1d9c84a3beed58f22442c968da6a58;p=ci-management.git diff --git a/jjb/global-templates-java.yaml b/jjb/global-templates-java.yaml index 580d65b36..e31a470df 100644 --- a/jjb/global-templates-java.yaml +++ b/jjb/global-templates-java.yaml @@ -1,64 +1,4 @@ --- -- job-template: - # Template used for running CLM scans - # Arguements: - # {name} - Project Shortname - # {project} - Fully qualified project name - # {mvn-settings} - Project maven settings file - # {jdk} - name: '{project-name}-{stream}-clm' - - project-type: freestyle - node: '{build-node}' - jdk: '{jdk}' - - properties: - - infra-properties: - build-days-to-keep: 30 - - parameters: - - infra-parameters: - project: '{project}' - branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' - - scm: - - git-scm: - refspec: '' - branch: '{branch}' - - wrappers: - - infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - timed: 'H H * * 6' - - builders: - - provide-maven-settings: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - maven-target: - maven-version: 'mvn33' - pom: 'pom.xml' - goals: | - clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index - {onap-infra-mvn-opts} - java-opts: - - '-Xmx4096m -XX:MaxPermSize=512m' - settings: '{mvn-settings}' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - shell: 'find . -regex ".*karaf/target" | xargs rm -rf' - - sonatype-clm: - application-name: '{project-name}' - - publishers: - - infra-shiplogs: - maven-version: '{maven-version}' - - job-template: # Job template for Java verify jobs # @@ -376,7 +316,443 @@ # # Required Variables: # branch: git branch (eg. stable/lithium or master) - name: '{project-name}-{stream}-release-java-daily' + name: '{project-name}-{stream}-release-java-daily' + + project-type: freestyle + 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 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}' + 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}' + 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 + # + # The purpose of this job template is to run "maven version && maven clean + # deploy" for projects using this template. + # + # Required Variables: + # branch: git branch (eg. stable/lithium or master) + name: '{project-name}-{stream}-release-java-daily-no-sonar' + + project-type: freestyle + 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 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}' + 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 "maven version && maven clean + # deploy" for projects using this template. + # + # Required Variables: + # branch: git branch (eg. stable/lithium or master) + name: '{project-name}-{stream}-release-java-daily-checkstyle' + project-type: freestyle + 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 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 sonar:sonar -Dsonar.host.url=${{SONAR}} -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 "maven version && maven clean + # deploy" for projects using this template. + # + # Required Variables: + # branch: git branch (eg. stable/lithium or master) + name: '{project-name}-{stream}-release-version-java-daily-no-sonar' + + project-type: freestyle + 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 "maven version && maven clean + # deploy" for projects using this template. + # This template supports subprojects. + # + # Required Variables: + # branch: git branch (eg. stable/lithium or master) + name: '{project-name}-{stream}-{subproject}-release-version-java-daily-no-sonar' + + project-type: freestyle + 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}' + 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 + # + # The purpose of this job template is to run "maven version && maven clean + # deploy" for projects using this template. + # + # Required Variables: + # branch: git branch (eg. stable/lithium or master) + name: '{project-name}-{stream}-release-version-java-daily' + + project-type: freestyle + 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 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 daily release jobs + # + # The purpose of this job template is to run "maven version && maven clean + # deploy" for projects using this template. + # + # 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}' @@ -417,9 +793,21 @@ global-settings-file: 'global-settings' settings-file: '{mvn-settings}' + - inject: + properties-file: version.properties - maven-target: maven-version: '{maven-version}' - goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -B + 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 sonar:sonar -P {mvn-profile} -Dsonar.host.url=${{SONAR}} -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' properties: - '{maven-deploy-properties}' @@ -432,22 +820,27 @@ - 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' + # Job template for Java daily release jobs with POM not at the root + # # The purpose of this job template is to run "maven version && maven clean # deploy" for projects using this template. # # Required Variables: # branch: git branch (eg. stable/lithium or master) - name: '{project-name}-{stream}-release-java-daily-checkstyle' + # 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}' maven-deploy-properties: properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' + parameters: - infra-parameters: project: '{project}' @@ -456,14 +849,17 @@ 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 * * *' @@ -471,34 +867,42 @@ 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 sonar:sonar -Dsonar.host.url=${{SONAR}} -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}' - - checkstyle-result-daily - job-template: - # Job template for Java daily release jobs + # Job template for Java daily release jobs with POM not at the root # # The purpose of this job template is to run "maven version && maven clean # deploy" for projects using this template. # # Required Variables: # branch: git branch (eg. stable/lithium or master) - name: '{project-name}-{stream}-release-version-java-daily-no-sonar' + # 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}' @@ -543,6 +947,7 @@ 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}}' @@ -553,7 +958,8 @@ - maven-target: maven-version: '{maven-version}' - goals: 'clean deploy -B + 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}' @@ -567,14 +973,17 @@ maven-version: '{maven-version}' - job-template: - # Job template for Java daily release jobs + # Job template for Java daily release jobs with POM not at the root # # The purpose of this job template is to run "maven version && maven clean # deploy" for projects using this template. # # Required Variables: # branch: git branch (eg. stable/lithium or master) - name: '{project-name}-{stream}-release-version-java-daily' + # pom: name/location of the pom.xml file relative to the workspace + + + name: '{project-name}-{stream}-{subproject}-release-java-daily-no-sonar' project-type: freestyle node: '{build-node}' @@ -615,24 +1024,15 @@ 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 sonar:sonar -Dsonar.host.url=${{SONAR}} -B + 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' @@ -643,21 +1043,18 @@ maven-version: '{maven-version}' - job-template: - # Job template for Java daily release jobs with POM not at the root + # Job template for Java merge jobs # - # The purpose of this job template is to run "maven version && maven clean - # deploy" for projects using this template. + # The purpose of this job template is to run "maven clean deploy" for + # projects using this template. # # 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' + name: '{project-name}-{stream}-merge-java' project-type: freestyle node: '{build-node}' - maven-deploy-properties: + properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' @@ -682,25 +1079,20 @@ build-timeout: '{build-timeout}' triggers: - # 11 AM UTC - - timed: 'H 11 * * *' - - gerrit-trigger-release-manually: + - 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}' - pom: '{pom}' - goals: 'clean deploy sonar:sonar -Dsonar.host.url=${{SONAR}} -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' @@ -711,14 +1103,15 @@ maven-version: '{maven-version}' - job-template: - # Job template for Java merge jobs - # + # Job template for Java merge jobs based on + # '{project-name}-{stream}-merge-java' # The purpose of this job template is to run "maven clean deploy" for # projects using this template. # # Required Variables: # branch: git branch (eg. stable/lithium or master) - name: '{project-name}-{stream}-merge-java' + # maven-properties: properties passed to maven + name: '{project-name}-{stream}-merge-properties-java' project-type: freestyle node: '{build-node}' @@ -765,6 +1158,7 @@ settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp + properties: '{obj:mvn_properties}' publishers: - infra-shiplogs: @@ -1064,6 +1458,22 @@ - 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}' @@ -1277,6 +1687,83 @@ name: '{project-name}-{stream}-aai-docker-java-daily' project-type: freestyle node: 'ubuntu1604-docker-8c-8g' + docker-image-name: '' + + 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 + + publishers: + - infra-shiplogs: + maven-version: '{maven-version}' + +- job-template: + name: '{project-name}-{stream}-{subproject}-aai-docker-java-daily' + project-type: freestyle + node: 'ubuntu1604-docker-8c-8g' + docker-image-name: '' properties: - infra-properties: @@ -1290,6 +1777,8 @@ artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' + - docker-image-name: + docker-image-name: '{docker-image-name}' scm: - gerrit-trigger-scm: @@ -1508,6 +1997,91 @@ - infra-shiplogs: maven-version: '{maven-version}' +- job-template: + # Job template for Java daily release jobs + # + # The purpose of this job template is to run + # - 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. + # - runs maven clean deploy sonar + # + # The POM files are required to use the Maven staging plugin so the deploy + # does not deploy directly to the release repo. + # + # 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' + + project-type: freestyle + 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 11 * * *' + - gerrit-trigger-release-manually: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: '{pattern}' + + builders: + - 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-not-parent.sh + + - maven-target: + maven-version: '{maven-version}' + pom: '{pom}' + goals: 'clean deploy sonar:sonar site:site site:stage-deploy + -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: # Template for maven site plugin invocation # @@ -1523,6 +2097,7 @@ name: '{project-name}-{stream}-stage-site-java' project-type: freestyle node: '{build-node}' + pom: 'pom.xml' properties: - infra-properties: @@ -1559,6 +2134,7 @@ 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}}'