---
-- 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}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
+ - maven-params:
+ mvn-params: '{mvn-params}'
scm:
- gerrit-trigger-scm:
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}'
+- 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'
- 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}'
maven-version: '{maven-version}'
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
+ 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}'
scm:
- gerrit-trigger-scm:
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
+ refspec: ''
+ choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
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}'
+
+ - 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:
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
+
+ <<: *merge_java_defaults
+ name: '{project-name}-{stream}-{subproject}-merge-java'
- name: '{project-name}-{stream}-release-java-daily'
+- 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}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
+ - maven-params:
+ mvn-params: '{mvn-params}'
scm:
- gerrit-trigger-scm:
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:
- - 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 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: '**'
-
- 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
+ builders:
+ - lf-infra-pre-build
+ - lf-update-java-alternatives:
+ java-version: "{java-version}"
- publishers:
- - infra-shiplogs:
+ - provide-maven-settings:
+ global-settings-file: 'global-settings'
+ settings-file: '{mvn-settings}'
+
+ - docker-login
+
+ - maven-docker-push-daily:
maven-version: '{maven-version}'
+ mvn-settings: '{mvn-settings}'
+ pom: '{docker-pom}'
+ # use default as mvn-profile if profile is not needed
+ mvn-profile: '{mvn-profile}'
+ mvn-params: '{mvn-params}'
+
+ publishers:
+ - lf-infra-publish
- job-template:
- # Job template for 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}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
- - docker-image-name:
- docker-image-name: '{docker-image-name}'
scm:
- gerrit-trigger-scm:
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}'
- 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}'
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}'
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 <parent> 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}'
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'
-
+ node: '{build-node}'
+ disabled: '{disabled}'
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
+ - maven-params:
+ mvn-params: '{mvn-params}'
scm:
- gerrit-trigger-scm:
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}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
+ - docker-image-name:
+ docker-image-name: '{docker-image-name}'
scm:
- gerrit-trigger-scm:
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}'
- 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'
- 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