blob: da5dfdccc15d7137bf03d2842a2e7c95acd4dd89 [file] [log] [blame]
---
- job-template: &verify_java_defaults
# Job template for Java verify jobs
#
# The purpose of this job template is to run:
# 1. maven clean install
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
name: '{project-name}-{stream}-verify-java'
project-type: freestyle
concurrent: true
node: '{build-node}'
build-env-variables: ''
pattern: '**'
pom:
mvn-opts: ''
java-opts: ''
java-version: openjdk8
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
- maven-params:
mvn-params: '{mvn-params}'
scm:
- gerrit-trigger-scm:
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-submitted:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '{obj:pattern}'
builders:
- lf-infra-pre-build
- lf-update-java-alternatives:
java-version: "{java-version}"
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- inject:
properties-content: "{build-env-variables}"
- maven-target:
maven-version: '{maven-version}'
pom: '{obj:pom}'
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
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template:
# Job template for Java verify jobs running checkstyle at the end
# When checkstyle will be fully incorporated, it is meant to replace
# '{project-name}-{stream}-verify-java-checkstyle'
#
# The purpose of this job template is to run:
# 1. maven clean install
#
# This job publishes checkstyle results.
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
<<: *verify_java_defaults
name: '{project-name}-{stream}-verify-java-checkstyle'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- checkstyle-result
- job-template:
# Job template for Java verify jobs with POM not at the root
#
# The purpose of this job template is to run:
# 1. maven clean install
#
# This job supports subprojects.
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
# pom: name/location of the pom.xml file relative to the workspace
# pattern: ant file-path pattern relative to the workspace used to
# trigger the job
<<: *verify_java_defaults
name: '{project-name}-{stream}-{subproject}-verify-java'
- job-template:
# Job template for Java integration pairwise jobs
#
# The purpose of this job template is to run:
# 1. maven clean install
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
<<: *verify_java_defaults
name: '{project-name}-{stream}-integration-pairwise'
triggers:
- timed: '@daily'
- gerrit-trigger-patch-submitted:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '{obj:pattern}'
- job-template:
# Job template for Java daily release jobs
#
# The purpose of this job template is to run:
# 1. maven clean deploy with Sonar scans
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
name: '{project-name}-{stream}-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: '@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}'
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: '@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}'
- conditional-step:
condition-kind: regex-match
regex: DoSetVersion
label: '{setVersion}'
steps:
- inject:
properties-file: version.properties
- maven-set-release-version:
maven-version: '{maven-version}'
mvn-settings: '{mvn-settings}'
pom:
- maven-target:
maven-version: '{maven-version}'
goals: 'clean deploy -B
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
properties: '{obj:mvn_properties}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
publishers:
- 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: '@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}'
- inject:
properties-file: version.properties
- maven-set-release-version:
maven-version: '{maven-version}'
mvn-settings: '{mvn-settings}'
pom:
- maven-target:
maven-version: '{maven-version}'
goals: 'clean deploy -B
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
properties:
- '{maven-deploy-properties}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template: &merge_java_defaults
# Job template for Java merge jobs
#
# The purpose of this job template is to run:
# 1. maven clean deploy
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
name: '{project-name}-{stream}-merge-java'
project-type: freestyle
node: '{build-node}'
pattern: '**'
pom:
mvn_properties: []
mvn-params: ''
mvn-opts: ''
java-opts: ''
java-version: openjdk8
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
- gerrit-trigger-patch-merged:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '{pattern}'
builders:
- lf-infra-pre-build
- lf-update-java-alternatives:
java-version: "{java-version}"
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- conditional-step:
condition-kind: regex-match
regex: .*(amd64|arm64).*
label: '{project-name}'
steps:
- shell: !include-raw-escape: global-jjb/shell/docker-login.sh
- maven-target:
maven-version: '{maven-version}'
pom: '{obj:pom}'
goals: 'clean deploy -B {mvn-params}
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
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:
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
<<: *merge_java_defaults
name: '{project-name}-{stream}-merge-properties-java'
wrappers:
- lf-infra-wrappers:
build-timeout: '{build-timeout}'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
- job-template:
# Job template for Java merge jobs that takes a maven template
#
# The purpose of this job template is to run:
# 1. maven clean deploy -P {mvn-profile}
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
<<: *merge_java_defaults
name: '{project-name}-{stream}-merge-profile-java'
builders:
- lf-infra-pre-build
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- docker-login
- maven-target:
maven-version: '{maven-version}'
goals: 'clean deploy -P {mvn-profile} -B
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
properties:
- docker.pull.registry=nexus3.onap.org:10001
- docker.push.registry=nexus3.onap.org:10003
- job-template:
# Job template for Java merge jobs with POM not at the root
#
# The purpose of this job template is to run:
# 1. maven clean deploy
#
# This job supports subprojects.
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
# pom: name/location of the pom.xml file relative to the workspace
# pattern: ant file-path pattern relative to the workspace used to
# trigger the job
<<: *merge_java_defaults
name: '{project-name}-{stream}-{subproject}-merge-java'
- job-template: &docker_java_defaults
# Job template for Docker daily jobs
#
# The purpose of this job template is to run:
# 1. login to the docker registry
# 2. docker push
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
name: '{project-name}-{stream}-docker-java-daily'
id: '{project-name}-{stream}-docker-java-daily'
project-type: freestyle
node: '{build-node}'
disabled: '{disabled}'
java-version: openjdk8
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- infra-parameters:
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- maven-exec:
maven-version: '{maven-version}'
- maven-params:
mvn-params: '{mvn-params}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
# 12 AM UTC
- 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}'
- 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:
- 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)
<<: *docker_java_defaults
name: '{project-name}-{stream}-docker-java-daily'
id: docker-java-daily
node: '{build-node}'
wrappers:
- infra-wrappers-docker-build:
build-timeout: '{build-timeout}'
- job-template:
# Job template for building & pushing docker images
#
# The purpose of this job template is to run:
# 1. login to the docker registry
# 2. run a specified shell builder
#
# Required Variables:
# pom: name/location of the pom.xml file relative to the workspace
# maven-properties: properties passed to maven
name: '{project-name}-{stream}-docker-java-shell-daily'
project-type: freestyle
node: '{build-node}'
disabled: '{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: '@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}'
- 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. run a specified shell builder
#
# Required Variables:
# pom: name/location of the pom.xml file relative to the workspace
# maven-properties: properties passed to maven
name: '{project-name}-{stream}-{subproject}-docker-java-shell-daily'
project-type: freestyle
node: '{build-node}'
disabled: '{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: '@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}'
- 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 specified shell builder
#
# Required Variables:
# pom: name/location of the pom.xml file relative to the workspace
# maven-properties: properties passed to maven
name: '{project-name}-{stream}-docker-java-version-shell-daily'
project-type: freestyle
node: '{build-node}'
disabled: '{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: '@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}'
- inject:
properties-file: version.properties
- maven-set-release-version:
maven-version: '{maven-version}'
mvn-settings: '{mvn-settings}'
pom:
- docker-login
- maven-target:
maven-version: '{maven-version}'
goals: '{mvn-goals}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- shell: '{script}'
publishers:
- 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: 'ubuntu1804-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: '@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}'
- inject:
properties-file: version.properties
- maven-set-release-version:
maven-version: '{maven-version}'
mvn-settings: '{mvn-settings}'
pom: '{pom}'
- docker-login
- maven-target:
maven-version: '{maven-version}'
pom: '{pom}'
goals: '{mvn-goals}'
settings: '{mvn-settings}'
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- shell: '{script}'
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
- job-template: &docker_version_java_defaults
# Job template for building & pushing docker images
#
# The purpose of this job template is to run:
# 1. login to the docker registry
# 2. inject a version.properties file and set versions
# 3. run a docker push
#
# Required Variables:
# pom: name/location of the pom.xml file relative to the workspace
# profile: the docker profile defined in the pom
# maven-properties: properties passed to maven
name: '{project-name}-{stream}-docker-version-java-daily'
id: '{project-name}-{stream}-docker-version-java-daily'
project-type: freestyle
node: '{build-node}'
disabled: '{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}'
- maven-params:
mvn-params: '{mvn-params}'
scm:
- gerrit-trigger-scm:
refspec: ''
choosing-strategy: 'default'
submodule-recursive: '{submodule-recursive}'
wrappers:
- infra-wrappers:
build-timeout: '{build-timeout}'
triggers:
# 12 AM UTC
- 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}'
- inject:
properties-file: version.properties
- maven-set-release-version:
maven-version: '{maven-version}'
mvn-settings: '{mvn-settings}'
pom:
- docker-login
- maven-docker-push-daily:
maven-version: '{maven-version}'
mvn-settings: '{mvn-settings}'
pom: '{docker-pom}'
# use default as mvn-profile if profile is not needed
mvn-profile: '{mvn-profile}'
mvn-params: '{mvn-params}'
publishers:
- 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
<<: *docker_version_java_defaults
name: '{project-name}-{stream}-docker-version-java-daily'
id: 'docker-version-java-daily'
node: '{build-node}'
wrappers:
- infra-wrappers-docker-build:
build-timeout: '{build-timeout}'
- job-template:
# Job template for building & pushing docker images for AAI specific repos
#
# The purpose of this job template is to run:
# 1. login to the docker registry
# 2. run maven goals
# 3. run include-docker-push.sh
#
# Required Variables:
# pom: name/location of the pom.xml file relative to the workspace
# maven-properties: properties passed to maven
name: '{project-name}-{stream}-aai-docker-java-daily'
project-type: freestyle
node: '{build-node}'
docker-image-name: ''
disabled: '{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: '@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}'
- 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:
# 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
- 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