Create script to automate deployment
[ci-management.git] / scripts / deploy.sh
1 #!/bin/bash
2
3 #
4 # Script created to automate RT #24343
5 #
6
7 # Copyright 2016 The Linux Foundation <cjcollier@linuxfoundation.org>
8 if [ -n ${MAVEN_SELECTOR} ]
9 then
10     MVN=${MVN:-"${HOME}/tools/hudson.tasks.Maven_MavenInstallation/${MAVEN_SELECTOR}/bin/mvn"}
11 else
12     MVN=/usr/bin/mvn
13 fi
14
15 REPO_NAME=${REPO_NAME:-${PROJECT}}
16
17 BASEURL="${NEXUSPROXY}/content/repositories/fd.io."
18 BASEREPOID='fdio-'
19
20 JAVA_HOME=${JAVA_HOME:-"/usr/lib/jvm/java-8-openjdk-${DEB_ARCH}"}
21 export JAVA_HOME
22
23 REPO_NAME=${REPO_NAME:-vpp}
24 GROUP_ID=io.fd.${REPO_NAME}
25 ARCH=${DEB_ARCH}
26
27 NEXUSPROXY=${NEXUSPROXY:nexus.fd.io}
28 REPO_ROOT=${https://${NEXUSPROXY}/content/repositories
29 GLOBAL_SETTINGS_FILE=${GLOBAL_SETTINGS_FILE:-"/etc/maven/settings.xml"}
30 SETTINGS_FILE=${SETTINGS_FILE:-"${HOME}/.m2/settings.xml"}
31 CI_MGMT=$(realpath $(dirname $(realpath $0))/..)
32
33 source ${CI_MGMT}/vpp/scripts/maven_push_functions.sh
34
35 VERSION=16.06
36
37 DEB_ARCH=amd64
38 RH_ARCH=x86_64
39
40 JAR_VERSION="${VERSION}-SNAPSHOT"
41 RH_VERSION="${VERSION}-release.${RH_ARCH}"
42 DEB_VERSION="${VERSION}_${DEB_ARCH}"
43
44 declare -A JAR_TAG=( [jvpp]=20160616.165833-38 [vppjapi]=20160616.165830-38 )
45 SRC_PFX=fd.io.stable.1606
46
47 for ARTIFACT_ID in vpp-dbg vpp-lib vpp-dpdk-dkms vpp-dpdk-dev vpp-dev vpp
48 do
49     for DEB_DIST in ubuntu.trusty.main ubuntu.xenial.main
50     do
51         SRC_REPO="${SRC_PFX}.${DEB_DIST}"
52         DST_REPO="fd.io.${DEB_DIST}"
53
54         BASENAME="${ARTIFACT_ID}-${DEB_VERSION}.deb"
55
56         mkdir -p ${SRC_REPO}
57         wget -c -P ${SRC_REPO} "${REPO_ROOT}/${SRC_REPO}/io/fd/${REPO_NAME}/${ARTIFACT_ID}/${DEB_VERSION}/${BASENAME}"
58
59         push_deb "${SRC_REPO}/${BASENAME}" "${DST_REPO}" "${REPO_ROOT}/${DST_REPO}"
60     done
61 done
62
63 for ARTIFACT_ID in vpp vpp-lib vpp-devel
64 do
65     for RH_DIST in centos7
66     do
67         SRC_REPO="${SRC_PFX}.${RH_DIST}"
68         DST_REPO="fd.io.${RH_DIST}"
69
70         mkdir -p ${SRC_REPO}
71
72         BASENAME="${ARTIFACT_ID}-${RH_VERSION}.rpm"
73
74         wget -c -P ${SRC_REPO} "${REPO_ROOT}/${SRC_REPO}/io/fd/${REPO_NAME}/${ARTIFACT_ID}/${RH_VERSION}/${BASENAME}"
75
76         #maven_push "${ARTIFACT_ID}" "${RH_VERSION}" "rpm" "${DST_REPO}" "${SRC_REPO}/${BASENAME}"
77         push_rpm "${SRC_REPO}/${BASENAME}" "${DST_REPO}" "${REPO_ROOT}/${DST_REPO}"
78
79     done
80 done
81
82 for ARTIFACT_ID in jvpp vppjapi
83 do
84     SRC_REPO=fd.io.snapshot
85     DST_REPO=fd.io.release
86
87     mkdir -p ${SRC_REPO}
88
89     BASENAME="${ARTIFACT_ID}-${VERSION}-${JAR_TAG[${ARTIFACT_ID}]}.jar"
90     wget -c -P ${SRC_REPO} "${REPO_ROOT}/${SRC_REPO}/io/fd/${REPO_NAME}/${ARTIFACT_ID}/${JAR_VERSION}/${BASENAME}"
91
92 #    maven_push "${ARTIFACT_ID}" "${VERSION}" "jar" "${DST_REPO}" "${SRC_REPO}/${BASENAME}"
93     push_jar "${SRC_REPO}/${BASENAME}" "${DST_REPO}" "${REPO_ROOT}/${DST_REPO}" "${VERSION}"
94 done
95