X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=jjb%2Fglobal-templates-script.yaml;h=6e19c81bb034b089a5a022c1dd5e8876d73e5d4d;hb=91c56ec978bf3e542144038aefdcb29f3a537013;hp=83593727b51c9837bdc2c34fe4e8b1ce92dc69c9;hpb=82539ded37c052b707e16e7a5543a373baf8fb81;p=ci-management.git diff --git a/jjb/global-templates-script.yaml b/jjb/global-templates-script.yaml index 83593727b..6e19c81bb 100644 --- a/jjb/global-templates-script.yaml +++ b/jjb/global-templates-script.yaml @@ -1,6 +1,526 @@ --- # vim: sw=2 ts=2 sts=2 et : + +- job-template: + # Job template for verifying a submission. triggered on + # gerrit-trigger-patch-submitted, 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 (e.g. + # clean, install etc, --version for noop) + name: '{project-name}-{stream}-verify-scm-mvn-script' + + project-type: freestyle + concurrent: true + 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: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - 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: '{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 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' + + 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: '{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 daily-release a submission. triggered on timer, does + # scm mvn with passed-in goals, then run script + # + # Required Variables: + # branch: git branch + # script: build script to execute + # mvn-goals-versioning: space separated list of maven build goals + # (--version for no op, + # or versions:set versions:update-child-modules versions:commit) + # mvn-goals: space separated list of maven build goals (--version for + # noop, or clean deploy) + name: '{project-name}-{stream}-daily-release-scm-mvn-script' + + project-type: freestyle + concurrent: true + 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' + + 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: '{mvn-goals-versioning}' + 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: '{mvn-goals}' + properties: + - '{maven-deploy-properties}' + 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 daily-release a submission. triggered on timer, does + # scm mvn with passed-in goals, then run script. + # Version changed using include-update-pom-versions.sh script + # + # Required Variables: + # branch: git branch + # script: build script to execute + # mvn-goals: space separated list of maven build goals (--version for + # noop, or clean deploy) + name: '{project-name}-{stream}-daily-release-version2-scm-mvn-script' + + project-type: freestyle + concurrent: true + 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' + + 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 + + - shell: !include-raw-escape: include-update-pom-versions.sh + + - maven-target: + maven-version: '{maven-version}' + goals: '{mvn-goals}' + properties: + - '{maven-deploy-properties}' + 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 verifying a submission. triggered on + # gerrit-trigger-patch-submitted, + # does scm 2 repos, mvn with passed-in goals, then run script + # + # Required Variables: + # branch: git branch + # script: build script to execute + # extra-project: extra gerrit project to checkout + # extra-refspec: refspec for the extra project + # extra-branch: branch to checkout for the extra project + # checkout-dir: directory to checkout the extra project to + # DO NOT SET THIS TO anything that translates to + # $WORKSPACE as it will destroy the initial + # project checkout + # mvn-goals: space separated list of maven build goals (e.g. + # clean, install etc, --version for noop) + + name: '{project-name}-{stream}-verify-2scm-mvn-script' + + project-type: freestyle + concurrent: true + 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: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + - git-extra-project: + project: '{extra-project}' + refspec: '{extra-refspec}' + branch: '{extra-branch}' + checkout-dir: '{checkout-dir}' + + wrappers: + - infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - 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: '{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 merged submission. triggered on + # gerrit-trigger-patch-merged,does scm of 2 repos, mvn with passed in + # goals, then run script + # + # Required Variables: + # branch: git branch + # script: build script to execute + # extra-project: extra gerrit project to checkout + # extra-refspec: refspec for the extra project + # extra-branch: branch to checkout for the extra project + # checkout-dir: directory to checkout the extra project to + # DO NOT SET THIS TO anything that translates to + # $WORKSPACE as it will destroy the initial + # project checkout + # mvn-goals: space separated list of maven build goals (--version + # for noop, clean deploy for mvn project) + + name: '{project-name}-{stream}-merge-2scm-mvn-script' + + project-type: freestyle + concurrent: true + 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' + - git-extra-project: + project: '{extra-project}' + refspec: '{extra-refspec}' + branch: '{extra-branch}' + checkout-dir: '{checkout-dir}' + + 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: '{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 merged submission. triggered on + # gerrit-trigger-patch-merged, does scm x2, mvn with passed-in goals, + # then run script + # + # Required Variables: + # branch: git branch + # script: build script to execute + # extra-project: extra gerrit project to checkout + # extra-refspec: refspec for the extra project + # extra-branch: branch to checkout for the extra project + # checkout-dir: directory to checkout the extra project to + # DO NOT SET THIS TO anything that translates to + # $WORKSPACE as it will destroy the initial + # project checkout + # mvn-goals: space separated list of maven build goals (--version + # for noop, clean deploy for mvn project) + # mvn-goals-versioning: space separated list of maven build goals + # (--version for no op, clean deploy for mvn project) + + name: '{project-name}-{stream}-daily-release-2scm-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' + - git-extra-project: + project: '{extra-project}' + refspec: '{extra-refspec}' + branch: '{extra-branch}' + checkout-dir: '{checkout-dir}' + + wrappers: + - infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - 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: '{mvn-goals-versioning}' + 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: '{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 basic scm and script trigger # @@ -16,17 +536,17 @@ node: '{build-node}' properties: - - ecomp-infra-properties: + - infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - - ecomp-infra-parameters: + - infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - maven-exec: - maven-version: 'mvn33' + maven-version: '{maven-version}' scm: - gerrit-trigger-scm: @@ -34,7 +554,7 @@ choosing-strategy: 'gerrit' wrappers: - - ecomp-infra-wrappers: + - infra-wrappers: build-timeout: '{build-timeout}' triggers: @@ -50,7 +570,7 @@ settings-file: '{mvn-settings}' # make sure maven gets installed / setup - maven-target: - maven-version: 'mvn33' + maven-version: '{maven-version}' goals: '--version' settings: '{mvn-settings}' settings-type: cfp @@ -58,9 +578,9 @@ global-settings-type: cfp - shell: '{script}' -# publishers: -# - ecomp-infra-shiplogs: -# maven-version: 'mvn33' + publishers: + - infra-shiplogs: + maven-version: '{maven-version}' - job-template: # Job template for 2 scm and script trigger @@ -84,17 +604,17 @@ node: '{build-node}' properties: - - ecomp-infra-properties: + - infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - - ecomp-infra-parameters: + - infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - maven-exec: - maven-version: 'mvn33' + maven-version: '{maven-version}' scm: - gerrit-trigger-scm: @@ -107,7 +627,7 @@ checkout-dir: '{checkout-dir}' wrappers: - - ecomp-infra-wrappers: + - infra-wrappers: build-timeout: '{build-timeout}' triggers: @@ -123,7 +643,7 @@ settings-file: '{mvn-settings}' # make sure maven gets installed / setup - maven-target: - maven-version: 'mvn33' + maven-version: '{maven-version}' goals: '--version' settings: '{mvn-settings}' settings-type: cfp @@ -131,9 +651,9 @@ global-settings-type: cfp - shell: '{script}' -# publishers: -# - ecomp-infra-shiplogs: -# maven-version: 'mvn33' + publishers: + - infra-shiplogs: + maven-version: '{maven-version}' - job-template: @@ -164,18 +684,17 @@ node: '{build-node}' properties: - - ecomp-infra-properties: + - infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - - ecomp-infra-parameters: + - infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - maven-exec: - maven-version: 'mvn33' - + maven-version: '{maven-version}' scm: - gerrit-trigger-scm: refspec: '$GERRIT_REFSPEC' @@ -192,7 +711,7 @@ checkout-dir: '{checkout-dir2}' wrappers: - - ecomp-infra-wrappers: + - infra-wrappers: build-timeout: '{build-timeout}' triggers: @@ -208,7 +727,7 @@ settings-file: '{mvn-settings}' # make sure maven gets installed / setup - maven-target: - maven-version: 'mvn33' + maven-version: '{maven-version}' goals: '--version' settings: '{mvn-settings}' settings-type: cfp @@ -216,6 +735,198 @@ global-settings-type: cfp - shell: '{script}' -# publishers: -# - ecomp-infra-shiplogs: -# maven-version: 'mvn33' + publishers: + - infra-shiplogs: + maven-version: '{maven-version}' + +# vim: sw=2 ts=2 sts=2 et : + +- job-template: + # Job template for scm and script trigger - for docker merge + # + # Required Variables: + # branch: git branch + # build-node: what build node to run on + # script: build script to execute + + name: '{project-name}-{stream}-merge-docker-script' + + project-type: freestyle + concurrent: true + 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' + - git-extra-project: + project: '{extra-project1}' + refspec: '{extra-refspec1}' + branch: '{extra-branch1}' + checkout-dir: '{checkout-dir1}' + - git-extra-project: + project: '{extra-project2}' + refspec: '{extra-refspec2}' + branch: '{extra-branch2}' + checkout-dir: '{checkout-dir2}' + + 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 + # make sure maven gets installed / setup + - maven-target: + maven-version: '{maven-version}' + goals: '--version' + 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 scm and script trigger - for docker daily release + # + # Required Variables: + # branch: git branch + # build-node: what build node to run on + # script: build script to execute + + name: '{project-name}-{stream}-release-docker-script-manual' + + project-type: freestyle + concurrent: true + 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' + - git-extra-project: + project: '{extra-project1}' + refspec: '{extra-refspec1}' + branch: '{extra-branch1}' + checkout-dir: '{checkout-dir1}' + - git-extra-project: + project: '{extra-project2}' + refspec: '{extra-refspec2}' + branch: '{extra-branch2}' + checkout-dir: '{checkout-dir2}' + + wrappers: + - infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - 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 + # make sure maven gets installed / setup + - maven-target: + maven-version: '{maven-version}' + goals: '--version' + 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: + # 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: + - 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}'