- 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: '@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 -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: '@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}'
- 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}'
- version-properties: 'version.properties'
- 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: '{pom}'
-
- - 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: &merge_java_defaults
# Job template for Java merge jobs
#
- 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. 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: '{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}'
- - 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:
- - 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}'
- mvn-params: '{mvn-params}'
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
-
- job-template:
# Job template for building & pushing docker images
#
publishers:
- lf-infra-publish
-- job-template:
- # Job template for merging a submission. triggered on
- # gerrit-trigger-patch-merged, does scm, mvn with passed-in goals, then
- # run script
- # Required Variables:
- # branch: git branch
- # script: build script to execute
- # mvn-settings: settings file for this specific job
- # mvn-goals: space separated list of maven build goals (--version
- # for noop, clean deploy for deploy [snapshot])
- name: '{project-name}-{stream}-merge-scm-mvn-script'
-
- project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
-
- 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:
- - lf-infra-pre-build
- - provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
- - maven-target:
- maven-version: '{maven-version}'
- goals: '{mvn-goals}'
- settings: '{mvn-settings}'
- settings-type: cfp
- global-settings: 'global-settings'
- global-settings-type: cfp
- - docker-login
- - shell: '{script}'
-
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
-
-
- job-template:
# Job template for 2 scm and script trigger
#
publishers:
- infra-shiplogs:
maven-version: '{maven-version}'
-
-- job-template:
- # 1. PULL the desired image
- # 2. TAG it to the desired release name
- # 3. PUSH the newly tagged image on release repo
-
- name: '{project-name}-docker-image-blessing'
-
- project-type: freestyle
- concurrent: true
- node: 'ubuntu1604-docker-8c-8g'
-
- parameters:
- - string:
- name: X
- description: "x VERSION of the STAGING image to bless into this RELEASE VERSION
- Example : 1"
- - string:
- name: Y
- description: "y VERSION of the STAGING image to bless into this RELEASE VERSION
- Example : 2"
- - string:
- name: Z
- description: "z VERSION of the RELEASE VERSION
- Example : 3"
- - string:
- name: PROJECT
- default: '{project}'
-
- properties:
- - infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
-
- wrappers:
- - infra-wrappers:
- build-timeout: '{build-timeout}'
-
- builders:
- - lf-infra-pre-build
- - provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
- - docker-login
- - shell: !include-raw: include-docker-blessing.sh
-
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'