From 2e587d02f9af894da41a9bdb3fca5f4ec50c98ef Mon Sep 17 00:00:00 2001 From: Lisa Revel Date: Fri, 24 Feb 2017 22:54:29 +0000 Subject: Move build scripts to apod buildtools Change-Id: Ic2404abefde7955870dcd8dd9a8508aeef919fca Signed-off-by: Lisa Revel --- scripts/script-apod-analytics-daily-release.sh | 92 +++++++++++++++++++++++++ scripts/script-apod-analytics-merge.sh | 93 ++++++++++++++++++++++++++ scripts/script-apod-analytics-verify.sh | 85 +++++++++++++++++++++++ scripts/script-apod-cdap-daily-release.sh | 86 ++++++++++++++++++++++++ scripts/script-apod-cdap-merge.sh | 87 ++++++++++++++++++++++++ scripts/script-apod-cdap-verify.sh | 79 ++++++++++++++++++++++ 6 files changed, 522 insertions(+) create mode 100755 scripts/script-apod-analytics-daily-release.sh create mode 100755 scripts/script-apod-analytics-merge.sh create mode 100755 scripts/script-apod-analytics-verify.sh create mode 100755 scripts/script-apod-cdap-daily-release.sh create mode 100755 scripts/script-apod-cdap-merge.sh create mode 100755 scripts/script-apod-cdap-verify.sh diff --git a/scripts/script-apod-analytics-daily-release.sh b/scripts/script-apod-analytics-daily-release.sh new file mode 100755 index 0000000..636f57a --- /dev/null +++ b/scripts/script-apod-analytics-daily-release.sh @@ -0,0 +1,92 @@ +#!/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 for the nexus repo +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") +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-dcae-analytics-tca.json | \ + python -c 'import json,sys;print json.load(sys.stdin)["applicationName"]') +PACKAGE_NAME_VERSION=$( \ + cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.json | \ + python -c 'import json,sys;print json.load(sys.stdin)["version"]') +PACKAGE_GROUP_ID=$( \ + cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.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/cdap-apps +mkdir -p ${OUTPUT_DIR} + +echo 'Copying jar file to stage' +JAR_FILE=$(ls ${WORKSPACE}/dcae-analytics-tca/target/ | \ + grep dcae-analytics-tca- | grep -v javadoc | grep -v sources) + +cp ${WORKSPACE}/dcae-analytics-tca/target/${JAR_FILE} \ + ${STAGE_DIR}/stage/opt/app/cdap-apps + +echo 'Copying json file to stage' +cp ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.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-analytics-tca_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-analytics-tca_17.01.0-LATEST.deb will be made and it will have a +# date stamp and build number on it. +# For example: dcae-analytics-tca_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="${REPO}/org.openecomp.dcae.apod.analytics/deb-releases/${OUTPUT_FILE}" +echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE} to Nexus Repo: ${SEND_TO}" +curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE} ${SEND_TO} + +SEND_TO="${REPO}/org.openecomp.dcae.apod.analytics/deb-releases/${OUTPUT_FILE_DATE_STAMPED}" +echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} to Nexus Repo: ${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/scripts/script-apod-analytics-merge.sh b/scripts/script-apod-analytics-merge.sh new file mode 100755 index 0000000..a42da6f --- /dev/null +++ b/scripts/script-apod-analytics-merge.sh @@ -0,0 +1,93 @@ +#!/bin/bash +# +# Create a debian package and push to remote repo +# +set -x +echo '================ STARTING SCRIPT TO CREATE DEBIAN FILE ==================' + +# Extract the username, password for the nexus repo from the maven 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") +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-dcae-analytics-tca.json | \ + python -c 'import json,sys;print json.load(sys.stdin)["applicationName"]') +PACKAGE_NAME_VERSION=$( \ + cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.json | \ + python -c 'import json,sys;print json.load(sys.stdin)["version"]') +PACKAGE_GROUP_ID=$( \ + cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.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/cdap-apps +mkdir -p ${OUTPUT_DIR} + +echo 'Copying jar file to stage' +JAR_FILE=$(ls ${WORKSPACE}/dcae-analytics-tca/target/ | \ + grep dcae-analytics-tca- | grep -v javadoc | grep -v sources) + +cp ${WORKSPACE}/dcae-analytics-tca/target/${JAR_FILE} \ + ${STAGE_DIR}/stage/opt/app/cdap-apps + +echo 'Copying json file to stage' +cp ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.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-analytics-tca_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-analytics-tca_17.01.0-LATEST.deb will be made and it will have a +# date stamp and build number on it. +# For example: dcae-analytics-tca_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="${REPO}/org.openecomp.dcae.apod.analytics/deb-snapshots/${OUTPUT_FILE}" +echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE} to Nexus Repo: ${SEND_TO}" +curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE} ${SEND_TO} + +SEND_TO="${REPO}/org.openecomp.dcae.apod.analytics/deb-snapshots/${OUTPUT_FILE_DATE_STAMPED}" + +echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} to Nexus Repo: ${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/scripts/script-apod-analytics-verify.sh b/scripts/script-apod-analytics-verify.sh new file mode 100755 index 0000000..b696f2d --- /dev/null +++ b/scripts/script-apod-analytics-verify.sh @@ -0,0 +1,85 @@ +#!/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 and URL for the nexus repo" +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") +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-dcae-analytics-tca.json | \ + python -c 'import json,sys;print json.load(sys.stdin)["applicationName"]') +PACKAGE_NAME_VERSION=$( \ + cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.json | \ + python -c 'import json,sys;print json.load(sys.stdin)["version"]') +PACKAGE_GROUP_ID=$( \ + cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.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/cdap-apps +mkdir -p ${OUTPUT_DIR} + +echo 'Copying jar file to stage' +JAR_FILE=$(ls ${WORKSPACE}/dcae-analytics-tca/target/ | \ + grep dcae-analytics-tca- | grep -v javadoc | grep -v sources) + +cp ${WORKSPACE}/dcae-analytics-tca/target/${JAR_FILE} \ + ${STAGE_DIR}/stage/opt/app/cdap-apps + +echo 'Copying json file to stage' +cp ${WORKSPACE}/dcae-apod-buildtools/configs/package-dcae-analytics-tca.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-analytics-tca_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-analytics-tca_17.01.0-LATEST.deb will be made and it will have a +# date stamp and build number on it. +# For example: dcae-analytics-tca_17.01.0-YYYYMMDDHHMMSS-XXX.deb +# Both files will then be uploaded to the repository. +# Verify script does not upload to Nexus repo. + +cp ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${OUTPUT_DIR}/${OUTPUT_FILE} + +echo 'Contents of output directory' +ls -lR ${OUTPUT_DIR} + +echo '================ ENDING SCRIPT TO CREATE DEBIAN FILE ====================' diff --git a/scripts/script-apod-cdap-daily-release.sh b/scripts/script-apod-cdap-daily-release.sh new file mode 100755 index 0000000..49305bd --- /dev/null +++ b/scripts/script-apod-cdap-daily-release.sh @@ -0,0 +1,86 @@ +#!/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") +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="${REPO}/org.openecomp.dcae.apod.cdap/deb-releases/${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="${REPO}/org.openecomp.dcae.apod.cdap/deb-releases/${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/scripts/script-apod-cdap-merge.sh b/scripts/script-apod-cdap-merge.sh new file mode 100755 index 0000000..05e8032 --- /dev/null +++ b/scripts/script-apod-cdap-merge.sh @@ -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") +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="${REPO}/org.openecomp.dcae.apod.cdap/deb-snapshots/${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="${REPO}/org.openecomp.dcae.apod.cdap/deb-snapshots/${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/scripts/script-apod-cdap-verify.sh b/scripts/script-apod-cdap-verify.sh new file mode 100755 index 0000000..d3aa1ed --- /dev/null +++ b/scripts/script-apod-cdap-verify.sh @@ -0,0 +1,79 @@ +#!/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") +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. +# Verify script does not upload to Nexus + +cp ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${OUTPUT_DIR}/${OUTPUT_FILE} + +echo "Contents of output directory" +ls -lR ${OUTPUT_DIR} + +echo '================= ENDING SCRIPT TO CREATE DEBIAN FILE ===================' -- cgit 1.2.3-korg