| --- |
| - 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: '' |
| 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 |
| - 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 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: '' |
| |
| 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 |
| - 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' |
| |
| - 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}' |
| 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}' |
| |
| - 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: '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: '@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 |