new script template and pgass' use 11/711/5
authorlj1412 <lji@research.att.com>
Fri, 17 Feb 2017 22:21:06 +0000 (22:21 +0000)
committerLusheng Ji <lji@research.att.com>
Sat, 18 Feb 2017 19:46:08 +0000 (19:46 +0000)
Change-Id: I7e08f11433690e48a8751184abc955d3d5ec7446
Signed-off-by: lj1412 <lji@research.att.com>
jjb/dcae/pgaas.yaml
jjb/dcae/script-pgaas-daily-release.sh [moved from jjb/dcae/include-raw-pgaas.sh with 71% similarity, mode: 0755]
jjb/dcae/script-pgaas-merge.sh [new file with mode: 0755]
jjb/dcae/script-pgaas-verify.sh [new file with mode: 0755]
jjb/global-templates-script.yaml

index fa18bce..78643a8 100644 (file)
@@ -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':
     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'
+
old mode 100644 (file)
new mode 100755 (executable)
similarity index 71%
rename from jjb/dcae/include-raw-pgaas.sh
rename to jjb/dcae/script-pgaas-daily-release.sh
index cd84b03..0a4e343
@@ -18,14 +18,13 @@ 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'"
+
+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 ================="
 
diff --git a/jjb/dcae/script-pgaas-merge.sh b/jjb/dcae/script-pgaas-merge.sh
new file mode 100755 (executable)
index 0000000..0a4e343
--- /dev/null
@@ -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 (executable)
index 0000000..51c802f
--- /dev/null
@@ -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 =================="
index 8359372..dbe7850 100644 (file)
@@ -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
     #
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: 'mvn33'
 
     scm:
       - gerrit-trigger-scm:
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: 'mvn33'
 
     scm:
       - gerrit-trigger-scm:
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           artifacts: '{archive-artifacts}'
-      - maven-exec:
-          maven-version: 'mvn33'
 
     scm:
       - gerrit-trigger-scm: