Updated group id for deb files
[ci-management.git] / jjb / dcae / script-apod-cdap-merge.sh
1 #!/bin/bash
2 # Create a debian package and push to remote repo
3 #
4 set -x
5 echo '================= STARTING SCRIPT TO CREATE DEBIAN FILE ================='
6 # Extract the username and password to the nexus repo from the settings file
7 USER=$(xpath -q -e "//servers/server[id='ecomp-raw']/username/text()" "$SETTINGS_FILE")
8 PASS=$(xpath -q -e "//servers/server[id='ecomp-raw']/password/text()" "$SETTINGS_FILE")
9 OPENECOMP_NEXUS_REPO="${NEXUSPROXY}/content/sites/raw"
10
11 #Create a netrc file for use with curl
12 NETRC=$(mktemp)
13 echo "machine nexus.openecomp.org login $USER password $PASS" > "$NETRC"
14
15
16 #Write an envionment var for the netrc location since it's a temp file
17 echo "NETRC=$NETRC" > "$WORKSPACE/netrc_env.txt"
18
19 STAGE_DIR=${WORKSPACE}/package
20 OUTPUT_DIR=${WORKSPACE}/package/output
21
22 DATE_STAMP="$(date +"%Y%m%d%H%M%S")"
23 PACKAGE_BUILD_NUMBER=${DATE_STAMP}
24 PACKAGE_NAME_APPLICATION=$( \
25     cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
26     python -c 'import json,sys;print json.load(sys.stdin)["applicationName"]')
27 PACKAGE_NAME_VERSION=$( \
28     cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
29     python -c 'import json,sys;print json.load(sys.stdin)["version"]')
30 PACKAGE_GROUP_ID=$( \
31     cat ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json | \
32     python -c 'import json,sys;print json.load(sys.stdin)["groupId"]')
33 OUTPUT_FILE="${PACKAGE_NAME_APPLICATION}_${PACKAGE_NAME_VERSION}.deb"
34 OUTPUT_FILE_DATE_STAMPED="${PACKAGE_NAME_APPLICATION}_${PACKAGE_NAME_VERSION}-${DATE_STAMP}.deb"
35
36 echo 'Package variables:'
37 echo "    STAGE_DIR = ${STAGE_DIR}"
38 echo "    OUTPUT_DIR = ${OUTPUT_DIR}"
39 echo "    PACKAGE_BUILD_NUMBER = ${PACKAGE_BUILD_NUMBER}"
40 echo "    PACKAGE_NAME_APPLICATION = ${PACKAGE_NAME_APPLICATION}"
41 echo "    PACKAGE_NAME_VERSION = ${PACKAGE_NAME_VERSION}"
42 echo "    PACKAGE_GROUP_ID = ${PACKAGE_GROUP_ID}"
43 echo "    OUTPUT_FILE = ${OUTPUT_FILE}"
44 echo "    OUTPUT_FILE_DATE_STAMPED = ${OUTPUT_FILE_DATE_STAMPED}"
45
46 echo 'Creating Staging and Output directories'
47 rm -rf ${STAGE_DIR}
48 rm -rf ${OUTPUT_DIR}
49 mkdir -p ${STAGE_DIR}/stage/opt/app/dcae-cdap-small-hadoop
50 mkdir -p ${OUTPUT_DIR}
51
52 echo 'Copying files to stage'
53 cp -R ${WORKSPACE}/cdap3vm/* ${STAGE_DIR}/stage/opt/app/dcae-cdap-small-hadoop
54
55 echo 'Copying json file to stage'
56 cp ${WORKSPACE}/dcae-apod-buildtools/configs/package-cdap3vm.json ${STAGE_DIR}/package.json
57
58 echo 'Contents of stage directory'
59 ls -lR ${STAGE_DIR}
60
61 echo "Creating debian package"
62 ${WORKSPACE}/dcae-apod-buildtools/scripts/package -b debian -d ${STAGE_DIR} \
63     -o ${OUTPUT_DIR} -y package.json -B ${PACKAGE_BUILD_NUMBER} -v
64
65 # The controller needs the debian packaged named
66 # dcae-cdap-small-hadoop_17.01.0-LATEST.deb so it can find and deploy it.
67 # In order to have a copy of each file built a copy of
68 # dcae-cdap-small-hadoop_17.01.0-LATEST.deb will be made and it will have a
69 # date stamp and build number on it.
70 # For example:  dcae-cda-small-hadoop_17.01.0-YYYYMMDDHHMMSS-XXX.deb
71 # Both files will then be uploaded to the repository.
72
73 cp ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${OUTPUT_DIR}/${OUTPUT_FILE}
74
75 echo "Contents of output directory"
76 ls -lR ${OUTPUT_DIR}
77
78 SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae.apod.cdap/deb-snapshots/${OUTPUT_FILE}"
79 echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE} to Nexus: ${SEND_TO}"
80 curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE} ${SEND_TO}
81
82 SEND_TO="${OPENECOMP_NEXUS_REPO}/org.openecomp.dcae.apod.cdap/deb-snapshots/${OUTPUT_FILE_DATE_STAMPED}"
83
84 echo "Sending ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} to Nexus: ${SEND_TO}"
85 curl -vkn --netrc-file "${NETRC}" --upload-file ${OUTPUT_DIR}/${OUTPUT_FILE_DATE_STAMPED} ${SEND_TO}
86
87 echo '================= ENDING SCRIPT TO CREATE DEBIAN FILE ==================='