Updated JJB for APOD CDAP 45/745/2
authorLisa Revel <lr0306@att.com>
Sat, 18 Feb 2017 21:55:17 +0000 (21:55 +0000)
committerLisa Revel <lr0306@att.com>
Sat, 18 Feb 2017 23:29:27 +0000 (23:29 +0000)
Change-Id: I3002a5ee8c6da26a6f1b6bc70ae242a6e4f5bffe
Signed-off-by: Lisa Revel <lr0306@att.com>
jjb/dcae/apod-cdap.yaml
jjb/dcae/script-apod-cdap-daily-release.sh [moved from jjb/dcae/include-raw-apod-cdap.sh with 84% similarity, mode: 0755]
jjb/dcae/script-apod-cdap-merge.sh [new file with mode: 0755]
jjb/dcae/script-apod-cdap-verify.sh [new file with mode: 0755]

index 6dbccca..2a2d65f 100644 (file)
@@ -3,18 +3,6 @@
 - project:
     name: dcae-apod-cdap
     project-name: 'dcae-apod-cdap'
-    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
 
     project: 'dcae/apod/cdap'
     stream:
     mvn-settings: 'dcae-apod-cdap-settings'
     files: '**'
     archive-artifacts: ''
-    build-node: ubuntu1604-basebuild-4c-4g
+    build-node: ubuntu1604-docker-8c-8g
+    mvn-goals: '--version'
+    mvn-goals-versioning: '--version'
     extra-project: 'dcae/apod/buildtools'
     extra-branch: 'master'
     extra-refspec: 'refs/heads/{branch}'
     checkout-dir: 'dcae-apod-buildtools'
-    script:
-        !include-raw-escape: 'include-raw-apod-cdap.sh'
+    jobs:
+      - '{project-name}-{stream}-daily-release-2scm-mvn-script':
+          maven-deploy-properties: |
+              deployAtEnd=true
+          script:
+            !include-raw-escape: 'script-apod-cdap-daily-release.sh'
+      - '{project-name}-{stream}-verify-2scm-mvn-script':
+          script:
+            !include-raw-escape: 'script-apod-cdap-verify.sh'
+      - '{project-name}-{stream}-merge-2scm-mvn-script':
+          script:
+            !include-raw-escape: 'script-apod-cdap-merge.sh'
old mode 100644 (file)
new mode 100755 (executable)
similarity index 84%
rename from jjb/dcae/include-raw-apod-cdap.sh
rename to jjb/dcae/script-apod-cdap-daily-release.sh
index 0094fd6..23d32eb
@@ -2,8 +2,8 @@
 # Create a debian package and push to remote repo
 #
 set -x
-echo '===================== STARTING SCRIPT TO CREATE DEBIAN FILE ======================='
-# Extract the username, password and path to the nexus repo from the maven settings file
+echo '================= STARTING SCRIPT TO CREATE DEBIAN FILE ================='
+# Extract the username and password to the nexus repo from the settings file
 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")
 OPENECOMP_NEXUS_REPO="${NEXUSPROXY}/content/sites/raw"
@@ -75,13 +75,13 @@ cp ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${OUTPUT_DIR}/${OUTPUT_FILE}
 echo "Contents of output directory"
 ls -lR ${OUTPUT_DIR}
 
-SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae.apod.cdap/deb-snapshots/${PACKAGE_GROUP_ID}/${OUTPUT_FILE}"
-echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE} to Nexus Repo: ${SEND_TO}"
+SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae/deb-snapshots/${PACKAGE_GROUP_ID}/${OUTPUT_FILE}"
+echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE} to Nexus: ${SEND_TO}"
 curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE} ${SEND_TO}
 
-SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae.apod.cdap/deb-snapshots/${PACKAGE_GROUP_ID}/${OUTPUT_FILE_DATE_STAMPED}"
+SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae/deb-snapshots/${PACKAGE_GROUP_ID}/${OUTPUT_FILE_DATE_STAMPED}"
 
-echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} to Nexus Repo: ${SEND_TO}"
+echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} to Nexus: ${SEND_TO}"
 curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${SEND_TO}
 
-echo '===================== ENDING SCRIPT TO CREATE DEBIAN FILE ======================='
+echo '================= ENDING SCRIPT TO CREATE DEBIAN FILE ==================='
diff --git a/jjb/dcae/script-apod-cdap-merge.sh b/jjb/dcae/script-apod-cdap-merge.sh
new file mode 100755 (executable)
index 0000000..23d32eb
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/bash
+# Create a debian package and push to remote repo
+#
+set -x
+echo '================= STARTING SCRIPT TO CREATE DEBIAN FILE ================='
+# Extract the username and password to the nexus repo from the settings file
+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")
+OPENECOMP_NEXUS_REPO="${NEXUSPROXY}/content/sites/raw"
+
+#Create a netrc file for use with curl
+NETRC=$(mktemp)
+echo "machine nexus.openecomp.org login $USER password $PASS" > "$NETRC"
+
+
+#Write an envionment var for the netrc location since it's a temp file
+echo "NETRC=$NETRC" > "$WORKSPACE/netrc_env.txt"
+
+STAGE_DIR=${WORKSPACE}/package
+OUTPUT_DIR=${WORKSPACE}/package/output
+
+DATE_STAMP="$(date +"%Y%m%d%H%M%S")"
+PACKAGE_BUILD_NUMBER=${DATE_STAMP}
+PACKAGE_NAME_APPLICATION=$( \
+    cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
+    python -c 'import json,sys;print json.load(sys.stdin)["applicationName"]')
+PACKAGE_NAME_VERSION=$( \
+    cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
+    python -c 'import json,sys;print json.load(sys.stdin)["version"]')
+PACKAGE_GROUP_ID=$( \
+    cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
+    python -c 'import json,sys;print json.load(sys.stdin)["groupId"]')
+OUTPUT_FILE="${PACKAGE_NAME_APPLICATION}_${PACKAGE_NAME_VERSION}.deb"
+OUTPUT_FILE_DATE_STAMPED="${PACKAGE_NAME_APPLICATION}_${PACKAGE_NAME_VERSION}-${DATE_STAMP}.deb"
+
+echo 'Package variables:'
+echo "    STAGE_DIR = ${STAGE_DIR}"
+echo "    OUTPUT_DIR = ${OUTPUT_DIR}"
+echo "    PACKAGE_BUILD_NUMBER = ${PACKAGE_BUILD_NUMBER}"
+echo "    PACKAGE_NAME_APPLICATION = ${PACKAGE_NAME_APPLICATION}"
+echo "    PACKAGE_NAME_VERSION = ${PACKAGE_NAME_VERSION}"
+echo "    PACKAGE_GROUP_ID = ${PACKAGE_GROUP_ID}"
+echo "    OUTPUT_FILE = ${OUTPUT_FILE}"
+echo "    OUTPUT_FILE_DATE_STAMPED = ${OUTPUT_FILE_DATE_STAMPED}"
+
+echo 'Creating Staging and Output directories'
+rm -rf ${STAGE_DIR}
+rm -rf ${OUTPUT_DIR}
+mkdir -p ${STAGE_DIR}/stage/opt/app/dcae-cdap-small-hadoop
+mkdir -p ${OUTPUT_DIR}
+
+echo 'Copying files to stage'
+cp -R ${WORKSPACE}/cdap3vm/* ${STAGE_DIR}/stage/opt/app/dcae-cdap-small-hadoop
+
+echo 'Copying json file to stage'
+cp ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json ${STAGE_DIR}/package.json
+
+echo 'Contents of stage directory'
+ls -lR ${STAGE_DIR}
+
+echo "Creating debian package"
+${WORKSPACE}/dcae-apod-buildtools/scripts/package -b debian -d ${STAGE_DIR} \
+    -o ${OUTPUT_DIR} -y package.json -B ${PACKAGE_BUILD_NUMBER} -v
+
+# The controller needs the debian packaged named
+# dcae-cdap-small-hadoop_17.01.0-LATEST.deb so it can find and deploy it.
+# In order to have a copy of each file built a copy of
+# dcae-cdap-small-hadoop_17.01.0-LATEST.deb will be made and it will have a
+# date stamp and build number on it.
+# For example:  dcae-cda-small-hadoop_17.01.0-YYYYMMDDHHMMSS-XXX.deb
+# Both files will then be uploaded to the repository.
+
+cp ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${OUTPUT_DIR}/${OUTPUT_FILE}
+
+echo "Contents of output directory"
+ls -lR ${OUTPUT_DIR}
+
+SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae/deb-snapshots/${PACKAGE_GROUP_ID}/${OUTPUT_FILE}"
+echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE} to Nexus: ${SEND_TO}"
+curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE} ${SEND_TO}
+
+SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae/deb-snapshots/${PACKAGE_GROUP_ID}/${OUTPUT_FILE_DATE_STAMPED}"
+
+echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} to Nexus: ${SEND_TO}"
+curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${SEND_TO}
+
+echo '================= ENDING SCRIPT TO CREATE DEBIAN FILE ==================='
diff --git a/jjb/dcae/script-apod-cdap-verify.sh b/jjb/dcae/script-apod-cdap-verify.sh
new file mode 100755 (executable)
index 0000000..23d32eb
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/bash
+# Create a debian package and push to remote repo
+#
+set -x
+echo '================= STARTING SCRIPT TO CREATE DEBIAN FILE ================='
+# Extract the username and password to the nexus repo from the settings file
+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")
+OPENECOMP_NEXUS_REPO="${NEXUSPROXY}/content/sites/raw"
+
+#Create a netrc file for use with curl
+NETRC=$(mktemp)
+echo "machine nexus.openecomp.org login $USER password $PASS" > "$NETRC"
+
+
+#Write an envionment var for the netrc location since it's a temp file
+echo "NETRC=$NETRC" > "$WORKSPACE/netrc_env.txt"
+
+STAGE_DIR=${WORKSPACE}/package
+OUTPUT_DIR=${WORKSPACE}/package/output
+
+DATE_STAMP="$(date +"%Y%m%d%H%M%S")"
+PACKAGE_BUILD_NUMBER=${DATE_STAMP}
+PACKAGE_NAME_APPLICATION=$( \
+    cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
+    python -c 'import json,sys;print json.load(sys.stdin)["applicationName"]')
+PACKAGE_NAME_VERSION=$( \
+    cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
+    python -c 'import json,sys;print json.load(sys.stdin)["version"]')
+PACKAGE_GROUP_ID=$( \
+    cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
+    python -c 'import json,sys;print json.load(sys.stdin)["groupId"]')
+OUTPUT_FILE="${PACKAGE_NAME_APPLICATION}_${PACKAGE_NAME_VERSION}.deb"
+OUTPUT_FILE_DATE_STAMPED="${PACKAGE_NAME_APPLICATION}_${PACKAGE_NAME_VERSION}-${DATE_STAMP}.deb"
+
+echo 'Package variables:'
+echo "    STAGE_DIR = ${STAGE_DIR}"
+echo "    OUTPUT_DIR = ${OUTPUT_DIR}"
+echo "    PACKAGE_BUILD_NUMBER = ${PACKAGE_BUILD_NUMBER}"
+echo "    PACKAGE_NAME_APPLICATION = ${PACKAGE_NAME_APPLICATION}"
+echo "    PACKAGE_NAME_VERSION = ${PACKAGE_NAME_VERSION}"
+echo "    PACKAGE_GROUP_ID = ${PACKAGE_GROUP_ID}"
+echo "    OUTPUT_FILE = ${OUTPUT_FILE}"
+echo "    OUTPUT_FILE_DATE_STAMPED = ${OUTPUT_FILE_DATE_STAMPED}"
+
+echo 'Creating Staging and Output directories'
+rm -rf ${STAGE_DIR}
+rm -rf ${OUTPUT_DIR}
+mkdir -p ${STAGE_DIR}/stage/opt/app/dcae-cdap-small-hadoop
+mkdir -p ${OUTPUT_DIR}
+
+echo 'Copying files to stage'
+cp -R ${WORKSPACE}/cdap3vm/* ${STAGE_DIR}/stage/opt/app/dcae-cdap-small-hadoop
+
+echo 'Copying json file to stage'
+cp ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json ${STAGE_DIR}/package.json
+
+echo 'Contents of stage directory'
+ls -lR ${STAGE_DIR}
+
+echo "Creating debian package"
+${WORKSPACE}/dcae-apod-buildtools/scripts/package -b debian -d ${STAGE_DIR} \
+    -o ${OUTPUT_DIR} -y package.json -B ${PACKAGE_BUILD_NUMBER} -v
+
+# The controller needs the debian packaged named
+# dcae-cdap-small-hadoop_17.01.0-LATEST.deb so it can find and deploy it.
+# In order to have a copy of each file built a copy of
+# dcae-cdap-small-hadoop_17.01.0-LATEST.deb will be made and it will have a
+# date stamp and build number on it.
+# For example:  dcae-cda-small-hadoop_17.01.0-YYYYMMDDHHMMSS-XXX.deb
+# Both files will then be uploaded to the repository.
+
+cp ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${OUTPUT_DIR}/${OUTPUT_FILE}
+
+echo "Contents of output directory"
+ls -lR ${OUTPUT_DIR}
+
+SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae/deb-snapshots/${PACKAGE_GROUP_ID}/${OUTPUT_FILE}"
+echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE} to Nexus: ${SEND_TO}"
+curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE} ${SEND_TO}
+
+SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae/deb-snapshots/${PACKAGE_GROUP_ID}/${OUTPUT_FILE_DATE_STAMPED}"
+
+echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} to Nexus: ${SEND_TO}"
+curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${SEND_TO}
+
+echo '================= ENDING SCRIPT TO CREATE DEBIAN FILE ==================='