--- /dev/null
+---
+###########
+# ANCHORS #
+###########
+- helm_job_boiler_plate: &helm_job_boiler_plate
+ name: helm_job_boiler_plate
+
+ ######################
+ # Default parameters #
+ ######################
+
+ branch: master
+ submodule-recursive: true
+
+ # default params for helm jobs
+ pre_build_script: ''
+ post_build_script: ''
+
+ #####################
+ # Job Configuration #
+ #####################
+
+ project-type: freestyle
+ node: '{build-node}'
+
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+
+ parameters:
+ - lf-infra-parameters:
+ branch: '{branch}'
+ project: '{project}'
+ stream: '{stream}'
+ lftools-version: '{lftools-version}'
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: '{build-timeout}'
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+ publishers:
+ - lf-infra-publish
+
+- helm_verify_boiler_plate: &helm_verify_boiler_plate
+ name: helm_verify_boiler_plate
+
+ concurrent: true
+
+ scm:
+ - gerrit-trigger-scm:
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'default'
+ submodule-recursive: '{submodule-recursive}'
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ status-context: '{project}-Helm-Verify'
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+ files: '{files}'
+
+- helm_merge_boiler_plate: &helm_merge_boiler_plate
+ name: helm_merge_boiler_plate
+
+ scm:
+ - gerrit-trigger-scm:
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'default'
+ submodule-recursive: '{submodule-recursive}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+ files: '{files}'
+ - pollscm:
+ cron: ''
+
+#################
+# JOB TEMPLATES #
+#################
+- job-template:
+ name: '{project-name}-{stream}-verify-helm'
+ # Job template for helm verify jobs
+
+ <<: *helm_job_boiler_plate
+ # yamllint disable-line rule:key-duplicates
+ <<: *helm_verify_boiler_plate
+
+ builders:
+ - shell: '{pre_build_script}'
+ - shell: '{build_script}'
+ - shell: '{post_build_script}'
+
+- job-template:
+ name: '{project-name}-{stream}-merge-helm'
+ # Job template for Helm merge jobs
+
+ <<: *helm_job_boiler_plate
+ # yamllint disable-line rule:key-duplicates
+ <<: *helm_merge_boiler_plate
+
+ builders:
+ - shell: '{pre_build_script}'
+ - shell: '{build_script}'
+ - shell: '{post_build_script}'
+
+- job-template:
+ name: '{project-name}-{subproject}-{stream}-verify-helm'
+ # Job template for helm verify jobs
+
+ <<: *helm_job_boiler_plate
+ # yamllint disable-line rule:key-duplicates
+ <<: *helm_verify_boiler_plate
+
+ builders:
+ - shell: '{pre_build_script}'
+ - shell: '{build_script}'
+ - shell: '{post_build_script}'
+
+- job-template:
+ name: '{project-name}-{subproject}-{stream}-merge-helm'
+ # Job template for helm merge jobs
+
+ <<: *helm_job_boiler_plate
+ # yamllint disable-line rule:key-duplicates
+ <<: *helm_merge_boiler_plate
+
+ builders:
+ - shell: '{pre_build_script}'
+ - shell: '{build_script}'
+ - shell: '{post_build_script}'
+
+- job-template:
+ name: '{project-name}-{stream}-update-helm-weekly'
+ # Job template for weekly helm update jobs
+ #
+ # Required Variables:
+ # branch: git branch (eg. stable/lithium or master)
+ <<: *helm_job_boiler_plate
+
+ scm:
+ - lf-infra-gerrit-scm:
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ git-url: '$GIT_URL/$PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: true
+ choosing-strategy: default
+
+ builders:
+ - shell: '{pre_build_script}'
+ - shell: '{build_script}'
+ - shell: '{post_build_script}'
+
+ triggers:
+ # 11 AM UTC
+ - timed: 'H 11 * * *'
+ - gerrit-trigger-release-manually:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+
steps:
- inject:
properties-file: version.properties
- - maven-target:
+ - maven-set-release-version:
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
+ mvn-settings: '{mvn-settings}'
+ pom:
- maven-target:
maven-version: '{maven-version}'
goals: 'clean deploy -B
- inject:
properties-file: version.properties
- - maven-target:
+ - maven-set-release-version:
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
+ mvn-settings: '{mvn-settings}'
+ pom:
- maven-target:
maven-version: '{maven-version}'
- inject:
properties-file: version.properties
- - maven-target:
+ - maven-set-release-version:
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
+ mvn-settings: '{mvn-settings}'
+ pom:
- maven-target:
maven-version: '{maven-version}'
- inject:
properties-file: version.properties
- - maven-target:
+ - maven-set-release-version:
maven-version: '{maven-version}'
+ mvn-settings: '{mvn-settings}'
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}'
<<: *merge_java_defaults
name: '{project-name}-{stream}-{subproject}-merge-java'
-- job-template:
+- job-template: &docker_java_defaults
# Job template for Docker daily jobs
#
# The purpose of this job template is to run:
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
+ <<: *docker_java_defaults
name: '{project-name}-{stream}-docker-java-daily'
id: 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-docker-build:
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}'
- mvn-params: '{mvn-params}'
-
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
-
-
- job-template:
# Job template for building & pushing docker images
#
steps:
- inject:
properties-file: version.properties
- - maven-target:
+ - maven-set-release-version:
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
+ mvn-settings: '{mvn-settings}'
+ pom:
- docker-login
- maven-docker-push-daily:
maven-version: '{maven-version}'
- inject:
properties-file: version.properties
-
- - maven-target:
+ - maven-set-release-version:
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
+ mvn-settings: '{mvn-settings}'
+ pom:
- docker-login
- inject:
properties-file: version.properties
-
- - maven-target:
+ - maven-set-release-version:
maven-version: '{maven-version}'
+ mvn-settings: '{mvn-settings}'
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
- infra-shiplogs:
maven-version: '{maven-version}'
-- job-template:
+- job-template: &docker_version_java_defaults
# Job template for building & pushing docker images
#
# The purpose of this job template is to run:
- inject:
properties-file: version.properties
-
- - maven-target:
+ - maven-set-release-version:
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
+ mvn-settings: '{mvn-settings}'
+ pom:
- docker-login
# 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'
- 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-docker-build:
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}'
- 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. 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}'
- - 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: '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}'
- 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 for AAI specific repos
#
- 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
- #
- # 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}-aai-docker-java-daily'
- project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
- disabled: '{disabled}'
- docker-image-name: ''
-
- properties:
- - infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
-
- parameters:
- - infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
- - maven-exec:
- maven-version: '{maven-version}'
- - docker-image-name:
- docker-image-name: '{docker-image-name}'
-
- scm:
- - gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
- submodule-recursive: '{submodule-recursive}'
-
- wrappers:
- - infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- # 12 AM UTC
- - timed: 'H 12 * * *'
- - gerrit-trigger-release-manually:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
-
- builders:
-
- - provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
-
- - docker-login
-
- - maven-target:
- maven-version: '{maven-version}'
- pom: 'pom.xml'
- goals: 'clean install -DskipTests -B
- -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
- settings: '{mvn-settings}'
- settings-type: cfp
- global-settings: 'global-settings'
- global-settings-type: cfp
-
- - maven-target:
- maven-version: '{maven-version}'
- pom: '{pom}'
- goals: '{mvn-goals}'
- settings: '{mvn-settings}'
- settings-type: cfp
- global-settings: 'global-settings'
- global-settings-type: cfp
- properties:
- - maven.test.skip=true
- - docker.pull.registry=nexus3.onap.org:10001
- - docker.push.registry=nexus3.onap.org:10003
-
- - shell: !include-raw-escape: include-docker-push.sh
-
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
-
- job-template:
# Job template for Java merge jobs for SDC specific repos
#
# use default as mvn-profile if profile is not needed
mvn-profile: '{mvn-profile}'
mvn-params: ''
-
-- 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
- #
- # 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'
- 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}'
- 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
-
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
-