From f75ed99361b3dfa731583352259525b17aaeec89 Mon Sep 17 00:00:00 2001 From: lj1412 Date: Fri, 17 Feb 2017 22:21:06 +0000 Subject: new script template and pgass' use Change-Id: I7e08f11433690e48a8751184abc955d3d5ec7446 Signed-off-by: lj1412 --- jjb/dcae/include-raw-pgaas.sh | 34 --- jjb/dcae/pgaas.yaml | 35 ++- jjb/dcae/script-pgaas-daily-release.sh | 33 +++ jjb/dcae/script-pgaas-merge.sh | 33 +++ jjb/dcae/script-pgaas-verify.sh | 33 +++ jjb/global-templates-script.yaml | 427 ++++++++++++++++++++++++++++++++- 6 files changed, 536 insertions(+), 59 deletions(-) delete mode 100644 jjb/dcae/include-raw-pgaas.sh create mode 100755 jjb/dcae/script-pgaas-daily-release.sh create mode 100755 jjb/dcae/script-pgaas-merge.sh create mode 100755 jjb/dcae/script-pgaas-verify.sh diff --git a/jjb/dcae/include-raw-pgaas.sh b/jjb/dcae/include-raw-pgaas.sh deleted file mode 100644 index cd84b03b4..000000000 --- a/jjb/dcae/include-raw-pgaas.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -# Create a debian package and push to remote repo -# -echo "============== STARTING SCRIPT TO CREATE DEBIAN FILES =================" - -export BUILD_NUMBER="${BUILD_ID}" -export PATH=$PATH:${WORKSPACE}/buildtools/bin - -export NEXUS_RAW="${NEXUSPROXY}/content/sites/raw" -USER=$(xpath -q -e \ - "//servers/server[id='ecomp-raw']/username/text()" "$SETTINGS_FILE") -PASS=$(xpath -q -e \ - "//servers/server[id='ecomp-raw']/password/text()" "$SETTINGS_FILE") - -# Create a netrc file for use with curl -export NETRC=$(mktemp) -echo "machine nexus.openecomp.org login ${USER} password ${PASS}" > "${NETRC}" - -echo $NEXUS_RAW - -export REPACKAGEDEBIANUPLOAD="set -x; curl -k \ - --netrc-file '${NETRC}' \ - --upload-file '{0}' \ - '${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots/{2}/{1}'" -export REPACKAGEDEBIANUPLOAD2="set -x; curl -k \ - --netrc-file '${NETRC}' \ - --upload-file '{0}' \ - '${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots/{2}/{4}-LATEST.deb'" -make debian -echo "================= ENDING SCRIPT TO CREATE DEBIAN FILES =================" - -#echo "============= STARTING SCRIPT TO CREATE JAVADOCS FILES ================" -#make upload-javadocs -#echo "============= ENDING SCRIPT TO CREATE JAVADOCS FILES ==================" diff --git a/jjb/dcae/pgaas.yaml b/jjb/dcae/pgaas.yaml index fa18bcec1..78643a82a 100644 --- a/jjb/dcae/pgaas.yaml +++ b/jjb/dcae/pgaas.yaml @@ -3,19 +3,7 @@ - project: name: dcae-pgaas project-name: 'dcae-pgaas' - jobs: - - '{project-name}-{stream}-two-scm-verify-script' - - - # 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 - + stream: 'master' project: 'dcae/pgaas' stream: - 'master': @@ -24,9 +12,18 @@ files: '**' archive-artifacts: '' build-node: ubuntu1604-basebuild-4c-4g - extra-project: 'dcae/utils/buildtools' - extra-branch: 'master' - extra-refspec: 'refs/heads/{branch}' - checkout-dir: 'buildtools' - script: - !include-raw-escape: 'include-raw-pgaas.sh' + mvn-goals: '--version' + mvn-goals-versioning: '--version' + jobs: + - '{project-name}-{stream}-daily-release-scm-mvn-script': + maven-deploy-properties: | + deployAtEnd=true + script: + !include-raw-escape: 'script-pgaas-daily-release.sh' + - '{project-name}-{stream}-merge-scm-mvn-script': + script: + !include-raw-escape: 'script-pgaas-merge.sh' + - '{project-name}-{stream}-verify-scm-mvn-script': + script: + !include-raw-escape: 'script-pgaas-verify.sh' + diff --git a/jjb/dcae/script-pgaas-daily-release.sh b/jjb/dcae/script-pgaas-daily-release.sh new file mode 100755 index 000000000..0a4e3434a --- /dev/null +++ b/jjb/dcae/script-pgaas-daily-release.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Create a debian package and push to remote repo +# +echo "============== STARTING SCRIPT TO CREATE DEBIAN FILES =================" + +export BUILD_NUMBER="${BUILD_ID}" +export PATH=$PATH:${WORKSPACE}/buildtools/bin + +export NEXUS_RAW="${NEXUSPROXY}/content/sites/raw" +USER=$(xpath -q -e \ + "//servers/server[id='ecomp-raw']/username/text()" "$SETTINGS_FILE") +PASS=$(xpath -q -e \ + "//servers/server[id='ecomp-raw']/password/text()" "$SETTINGS_FILE") + +# Create a netrc file for use with curl +export NETRC=$(mktemp) +echo "machine nexus.openecomp.org login ${USER} password ${PASS}" > "${NETRC}" + +echo $NEXUS_RAW + + +REPO="${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots" + +export REPACKAGEDEBIANUPLOAD="set -x; curl -k --netrc-file '${NETRC}' \ + --upload-file '{0}' '${REPO}/{2}/{1}'" +export REPACKAGEDEBIANUPLOAD2="set -x; curl -k --netrc-file '${NETRC}' \ + --upload-file '{0}' '${REPO}/{2}/{4}-LATEST.deb'" +make debian +echo "================= ENDING SCRIPT TO CREATE DEBIAN FILES =================" + +#echo "============= STARTING SCRIPT TO CREATE JAVADOCS FILES ================" +#make upload-javadocs +#echo "============= ENDING SCRIPT TO CREATE JAVADOCS FILES ==================" diff --git a/jjb/dcae/script-pgaas-merge.sh b/jjb/dcae/script-pgaas-merge.sh new file mode 100755 index 000000000..0a4e3434a --- /dev/null +++ b/jjb/dcae/script-pgaas-merge.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Create a debian package and push to remote repo +# +echo "============== STARTING SCRIPT TO CREATE DEBIAN FILES =================" + +export BUILD_NUMBER="${BUILD_ID}" +export PATH=$PATH:${WORKSPACE}/buildtools/bin + +export NEXUS_RAW="${NEXUSPROXY}/content/sites/raw" +USER=$(xpath -q -e \ + "//servers/server[id='ecomp-raw']/username/text()" "$SETTINGS_FILE") +PASS=$(xpath -q -e \ + "//servers/server[id='ecomp-raw']/password/text()" "$SETTINGS_FILE") + +# Create a netrc file for use with curl +export NETRC=$(mktemp) +echo "machine nexus.openecomp.org login ${USER} password ${PASS}" > "${NETRC}" + +echo $NEXUS_RAW + + +REPO="${NEXUS_RAW}/org.openecomp.dcae.pgaas/deb-snapshots" + +export REPACKAGEDEBIANUPLOAD="set -x; curl -k --netrc-file '${NETRC}' \ + --upload-file '{0}' '${REPO}/{2}/{1}'" +export REPACKAGEDEBIANUPLOAD2="set -x; curl -k --netrc-file '${NETRC}' \ + --upload-file '{0}' '${REPO}/{2}/{4}-LATEST.deb'" +make debian +echo "================= ENDING SCRIPT TO CREATE DEBIAN FILES =================" + +#echo "============= STARTING SCRIPT TO CREATE JAVADOCS FILES ================" +#make upload-javadocs +#echo "============= ENDING SCRIPT TO CREATE JAVADOCS FILES ==================" diff --git a/jjb/dcae/script-pgaas-verify.sh b/jjb/dcae/script-pgaas-verify.sh new file mode 100755 index 000000000..51c802f60 --- /dev/null +++ b/jjb/dcae/script-pgaas-verify.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Create a debian package and push to remote repo +# +echo "============== STARTING SCRIPT TO CREATE DEBIAN FILES =================" + +export BUILD_NUMBER="${BUILD_ID}" +export PATH=$PATH:${WORKSPACE}/buildtools/bin + +export NEXUS_RAW="${NEXUSPROXY}/content/sites/raw" +USER=$(xpath -q -e \ + "//servers/server[id='ecomp-raw']/username/text()" "$SETTINGS_FILE") +PASS=$(xpath -q -e \ + "//servers/server[id='ecomp-raw']/password/text()" "$SETTINGS_FILE") + +# Create a netrc file for use with curl +export NETRC=$(mktemp) +echo "machine nexus.openecomp.org login ${USER} password ${PASS}" > "${NETRC}" + +echo $NEXUS_RAW + + +REPO="${NEXUS_RAW}/org.openecomp.dcae.devnull/" + +export REPACKAGEDEBIANUPLOAD="set -x; curl -k --netrc-file '${NETRC}' \ + --upload-file '{0}' '${REPO}/{2}/{1}'" +export REPACKAGEDEBIANUPLOAD2="set -x; curl -k --netrc-file '${NETRC}' \ + --upload-file '{0}' '${REPO}/{2}/{4}-LATEST.deb'" +make debian +echo "================= ENDING SCRIPT TO CREATE DEBIAN FILES =================" + +#echo "============= STARTING SCRIPT TO CREATE JAVADOCS FILES ================" +#make upload-javadocs +#echo "============= ENDING SCRIPT TO CREATE JAVADOCS FILES ==================" diff --git a/jjb/global-templates-script.yaml b/jjb/global-templates-script.yaml index 83593727b..dbe7850f4 100644 --- a/jjb/global-templates-script.yaml +++ b/jjb/global-templates-script.yaml @@ -1,6 +1,427 @@ --- # vim: sw=2 ts=2 sts=2 et : + +- job-template: + # Job template for verify a submission. triggered on gerrit-trigger-patch-submitted, does + # scm, mvn with passed in goals, then run script + # + # Required Variables: + # branch: git branch + # build-node: what build node to run on + # 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: '{build-node}' + + properties: + - ecomp-infra-properties: + build-days-to-keep: '{build-days-to-keep}' + + parameters: + - ecomp-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ecomp-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: 'mvn33' + goals: '{mvn-goals}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - docker-login + - shell: '{script}' + + + +- 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 + # build-node: what build node to run on + # 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 [version must be snapshot]) + name: '{project-name}-{stream}-merge-scm-mvn-script' + + project-type: freestyle + node: '{build-node}' + + properties: + - ecomp-infra-properties: + build-days-to-keep: '{build-days-to-keep}' + + parameters: + - ecomp-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '' + choosing-strategy: 'default' + + wrappers: + - ecomp-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: 'mvn33' + goals: '{mvn-goals}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - docker-login + - shell: '{script}' + + + + +- 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 + # build-node: what build node to run on + # 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 or --version) + # 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: '{build-node}' + + properties: + - ecomp-infra-properties: + build-days-to-keep: '{build-days-to-keep}' + + parameters: + - ecomp-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + scm: + - gerrit-trigger-scm: + refspec: '' + choosing-strategy: 'default' + + wrappers: + - ecomp-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + # 11 AM UTC + - timed: 'H 11 * * *' + + builders: + - provide-maven-settings: + global-settings-file: 'global-settings' + settings-file: '{mvn-settings}' + - inject: + properties-file: version.properties + - maven-target: + maven-version: 'mvn33' + 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: 'mvn33' + 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}' + + + + +- 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 + # build-node: what build node to run on + # 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: '{build-node}' + + properties: + - ecomp-infra-properties: + build-days-to-keep: '{build-days-to-keep}' + + parameters: + - ecomp-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + 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: + - ecomp-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: 'mvn33' + goals: '{mvn-goals}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - docker-login + - shell: '{script}' + + + +- 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 + # build-node: what build node to run on + # 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 no op, + # clean deploy for mvn project) + + name: '{project-name}-{stream}-merge-2scm-mvn-script' + + project-type: freestyle + concurrent: true + node: '{build-node}' + + properties: + - ecomp-infra-properties: + build-days-to-keep: '{build-days-to-keep}' + + parameters: + - ecomp-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + 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: + - ecomp-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: 'mvn33' + goals: '{mvn-goals}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - docker-login + - shell: '{script}' + + + +- 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 + # build-node: what build node to run on + # 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 no op, + # 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 + concurrent: true + node: '{build-node}' + + properties: + - ecomp-infra-properties: + build-days-to-keep: '{build-days-to-keep}' + + parameters: + - ecomp-infra-parameters: + project: '{project}' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + artifacts: '{archive-artifacts}' + + 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: + - ecomp-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - timed: 'H 11 * * *' + + builders: + - provide-maven-settings: + global-settings-file: 'global-settings' + settings-file: '{mvn-settings}' + - inject: + properties-file: version.properties + - maven-target: + maven-version: 'mvn33' + 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: 'mvn33' + goals: '{mvn-goals}' + settings: '{mvn-settings}' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - docker-login + - shell: '{script}' + + + + + - job-template: # Job template for basic scm and script trigger # @@ -25,8 +446,6 @@ branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - - maven-exec: - maven-version: 'mvn33' scm: - gerrit-trigger-scm: @@ -93,8 +512,6 @@ branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - - maven-exec: - maven-version: 'mvn33' scm: - gerrit-trigger-scm: @@ -173,8 +590,6 @@ branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - - maven-exec: - maven-version: 'mvn33' scm: - gerrit-trigger-scm: -- cgit 1.2.3-korg