summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorC.J. Collier <cjcollier@linuxfoundation.org>2016-06-16 14:20:28 -0700
committerC.J. Collier <cjcollier@linuxfoundation.org>2016-06-17 08:40:04 +0000
commitafd303bc155a27d1ddccfc8add7d510c731decf5 (patch)
tree4b4c437a6bf913c272cef7b75c1d8e46f63f5838
parent8ee42fcab94f16a67b3147e3dbb71821526b9564 (diff)
Create script to automate deployment
* as per #24343 * re-factored to use common code from include-raw-vpp-maven-push and maven_push_functions.sh Change-Id: I197c114bcf61b0dd2ea81e2be0505793cf594e49 Signed-off-by: C.J. Collier <cjcollier@linuxfoundation.org>
-rw-r--r--.gitignore6
-rw-r--r--jjb/scripts/maven_push_functions.sh12
-rw-r--r--jjb/vpp/include-raw-vpp-maven-push.sh84
-rw-r--r--jjb/vpp/vpp.yaml4
-rw-r--r--scripts/deploy.sh95
-rw-r--r--vagrant/lib/respin-functions.sh1
6 files changed, 117 insertions, 85 deletions
diff --git a/.gitignore b/.gitignore
index 4c0dafd60..92d0f6036 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,9 @@ target/
*~
\.\#*
\#*
+
+# Ruby
+.ruby-version
+
+# Perl
+perltidy.ERR
diff --git a/jjb/scripts/maven_push_functions.sh b/jjb/scripts/maven_push_functions.sh
index 2d6ae791f..5e964e076 100644
--- a/jjb/scripts/maven_push_functions.sh
+++ b/jjb/scripts/maven_push_functions.sh
@@ -49,8 +49,8 @@ function push_file ()
function push_jar ()
{
jarfile=$1
- repoId="${BASEREPOID}snapshot"
- url="${BASEURL}snapshot"
+ repoId=${2:-"${BASEREPOID}snapshot"}
+ url=${3:-"${BASEURL}snapshot"}
basefile=$(basename -s .jar "$jarfile")
artifactId=$(echo "$basefile" | cut -f 1 -d '-')
@@ -62,8 +62,8 @@ function push_jar ()
function push_deb ()
{
debfile=$1
- repoId="fd.io.${REPO_NAME}"
- url="${BASEURL}${REPO_NAME}"
+ repoId=${2:-"fd.io.${REPO_NAME}"}
+ url=${3:-"${BASEURL}${REPO_NAME}"}
basefile=$(basename -s .deb "$debfile")
artifactId=$(echo "$basefile" | cut -f 1 -d '_')
@@ -75,8 +75,8 @@ function push_deb ()
function push_rpm ()
{
rpmfile=$1
- repoId="fd.io.${REPO_NAME}"
- url="${BASEURL}${REPO_NAME}"
+ repoId=${2:-"fd.io.${REPO_NAME}"}
+ url=${3:-"${BASEURL}${REPO_NAME}"}
if grep -qE '\.s(rc\.)?rpm' <<<"$rpmfile"
then
diff --git a/jjb/vpp/include-raw-vpp-maven-push.sh b/jjb/vpp/include-raw-vpp-maven-push.sh
index 91bc295b8..c3361b78e 100644
--- a/jjb/vpp/include-raw-vpp-maven-push.sh
+++ b/jjb/vpp/include-raw-vpp-maven-push.sh
@@ -1,94 +1,22 @@
#!/bin/bash
+
+# Copyright 2015,2016 The Linux Foundation
+# 2015,2016 Cisco Systems
+
set -xe -o pipefail
echo "*******************************************************************"
echo "* STARTING PUSH OF PACKAGES TO REPOS"
echo "* NOTHING THAT HAPPENS BELOW THIS POINT IS RELATED TO BUILD FAILURE"
echo "*******************************************************************"
+source ../scripts/maven_push_functions.sh
+
# Determine the path to maven
if [ -z "${MAVEN_SELECTOR}" ]; then
echo "ERROR: No Maven install detected!"
exit 1
fi
-MVN="${HOME}/tools/hudson.tasks.Maven_MavenInstallation/${MAVEN_SELECTOR}/bin/mvn"
-GROUP_ID="io.fd.${PROJECT}"
-BASEURL="${NEXUSPROXY}/content/repositories/fd.io."
-BASEREPOID='fdio-'
-
-function push_file ()
-{
- push_file=$1
- repoId=$2
- url=$3
- version=$4
- artifactId=$5
- file_type=$6
- classifier=$7
-
- if [ "$classifier" ]; then
- d_classifier="-Dclassifier=$7"
- fi
-
- # Disable checks for doublequote to prevent glob / splitting
- # shellcheck disable=SC2086
- $MVN org.apache.maven.plugins:maven-deploy-plugin:deploy-file \
- -Dfile=$push_file -DrepositoryId=$repoId \
- -Durl=$url -DgroupId=$GROUP_ID \
- -Dversion=$version -DartifactId=$artifactId \
- -Dtype=$file_type $d_classifier\
- -gs $GLOBAL_SETTINGS_FILE -s $SETTINGS_FILE
-
- # make sure the script bombs if we fail an upload
- if [ "$?" != '0' ]; then
- echo "ERROR: There was an error with the upload"
- exit 1
- fi
-}
-
-function push_jar ()
-{
- jarfile=$1
- repoId="${BASEREPOID}snapshot"
- url="${BASEURL}snapshot"
-
- basefile=$(basename -s .jar "$jarfile")
- artifactId=$(echo "$basefile" | cut -f 1 -d '-')
- version=$(echo "$basefile" | cut -f 2 -d '-')
-
- push_file "$jarfile" "$repoId" "$url" "${version}-SNAPSHOT" "$artifactId" jar
-}
-
-function push_deb ()
-{
- debfile=$1
- repoId="fd.io.${REPO_NAME}"
- url="${BASEURL}${REPO_NAME}"
-
- basefile=$(basename -s .deb "$debfile")
- artifactId=$(echo "$basefile" | cut -f 1 -d '_')
- version=$(echo "$basefile" | cut -f 2- -d '_')
-
- push_file "$debfile" "$repoId" "$url" "$version" "$artifactId" deb
-}
-
-function push_rpm ()
-{
- rpmfile=$1
- repoId="fd.io.${REPO_NAME}"
- url="${BASEURL}${REPO_NAME}"
-
- if grep -qE '\.s(rc\.)?rpm' <<<"$rpmfile"
- then
- rpmrelease=$(rpm -qp --queryformat="%{release}.src" "$rpmfile")
- else
- rpmrelease=$(rpm -qp --queryformat="%{release}.%{arch}" "$rpmfile")
- fi
- artifactId=$(rpm -qp --queryformat="%{name}" "$rpmfile")
- version=$(rpm -qp --queryformat="%{version}" "$rpmfile")
- push_file "$rpmfile" "$repoId" "$url" "${version}-${rpmrelease}" "$artifactId" rpm
-}
-
if [ "${OS}" == "ubuntu1404" ]; then
# Find the files
JARS=$(find . -type f -iname '*.jar')
diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml
index fafd91667..f75db81d7 100644
--- a/jjb/vpp/vpp.yaml
+++ b/jjb/vpp/vpp.yaml
@@ -198,7 +198,9 @@
settings-file: 'vpp-settings'
global-settings-file: 'global-settings'
- shell:
- !include-raw-escape: include-raw-vpp-maven-push.sh
+ !include-raw-escape:
+ - ../scripts/maven_push_functions.sh
+ - include-raw-vpp-maven-push.sh
- job-template:
name: 'vpp-csit-verify-virl-{stream}'
diff --git a/scripts/deploy.sh b/scripts/deploy.sh
new file mode 100644
index 000000000..e894d4678
--- /dev/null
+++ b/scripts/deploy.sh
@@ -0,0 +1,95 @@
+#!/bin/bash
+
+#
+# Script created to automate RT #24343
+#
+
+# Copyright 2016 The Linux Foundation <cjcollier@linuxfoundation.org>
+if [ -n ${MAVEN_SELECTOR} ]
+then
+ MVN=${MVN:-"${HOME}/tools/hudson.tasks.Maven_MavenInstallation/${MAVEN_SELECTOR}/bin/mvn"}
+else
+ MVN=/usr/bin/mvn
+fi
+
+REPO_NAME=${REPO_NAME:-${PROJECT}}
+
+BASEURL="${NEXUSPROXY}/content/repositories/fd.io."
+BASEREPOID='fdio-'
+
+JAVA_HOME=${JAVA_HOME:-"/usr/lib/jvm/java-8-openjdk-${DEB_ARCH}"}
+export JAVA_HOME
+
+REPO_NAME=${REPO_NAME:-vpp}
+GROUP_ID=io.fd.${REPO_NAME}
+ARCH=${DEB_ARCH}
+
+NEXUSPROXY=${NEXUSPROXY:nexus.fd.io}
+REPO_ROOT=${https://${NEXUSPROXY}/content/repositories
+GLOBAL_SETTINGS_FILE=${GLOBAL_SETTINGS_FILE:-"/etc/maven/settings.xml"}
+SETTINGS_FILE=${SETTINGS_FILE:-"${HOME}/.m2/settings.xml"}
+CI_MGMT=$(realpath $(dirname $(realpath $0))/..)
+
+source ${CI_MGMT}/vpp/scripts/maven_push_functions.sh
+
+VERSION=16.06
+
+DEB_ARCH=amd64
+RH_ARCH=x86_64
+
+JAR_VERSION="${VERSION}-SNAPSHOT"
+RH_VERSION="${VERSION}-release.${RH_ARCH}"
+DEB_VERSION="${VERSION}_${DEB_ARCH}"
+
+declare -A JAR_TAG=( [jvpp]=20160616.165833-38 [vppjapi]=20160616.165830-38 )
+SRC_PFX=fd.io.stable.1606
+
+for ARTIFACT_ID in vpp-dbg vpp-lib vpp-dpdk-dkms vpp-dpdk-dev vpp-dev vpp
+do
+ for DEB_DIST in ubuntu.trusty.main ubuntu.xenial.main
+ do
+ SRC_REPO="${SRC_PFX}.${DEB_DIST}"
+ DST_REPO="fd.io.${DEB_DIST}"
+
+ BASENAME="${ARTIFACT_ID}-${DEB_VERSION}.deb"
+
+ mkdir -p ${SRC_REPO}
+ wget -c -P ${SRC_REPO} "${REPO_ROOT}/${SRC_REPO}/io/fd/${REPO_NAME}/${ARTIFACT_ID}/${DEB_VERSION}/${BASENAME}"
+
+ push_deb "${SRC_REPO}/${BASENAME}" "${DST_REPO}" "${REPO_ROOT}/${DST_REPO}"
+ done
+done
+
+for ARTIFACT_ID in vpp vpp-lib vpp-devel
+do
+ for RH_DIST in centos7
+ do
+ SRC_REPO="${SRC_PFX}.${RH_DIST}"
+ DST_REPO="fd.io.${RH_DIST}"
+
+ mkdir -p ${SRC_REPO}
+
+ BASENAME="${ARTIFACT_ID}-${RH_VERSION}.rpm"
+
+ wget -c -P ${SRC_REPO} "${REPO_ROOT}/${SRC_REPO}/io/fd/${REPO_NAME}/${ARTIFACT_ID}/${RH_VERSION}/${BASENAME}"
+
+ #maven_push "${ARTIFACT_ID}" "${RH_VERSION}" "rpm" "${DST_REPO}" "${SRC_REPO}/${BASENAME}"
+ push_rpm "${SRC_REPO}/${BASENAME}" "${DST_REPO}" "${REPO_ROOT}/${DST_REPO}"
+
+ done
+done
+
+for ARTIFACT_ID in jvpp vppjapi
+do
+ SRC_REPO=fd.io.snapshot
+ DST_REPO=fd.io.release
+
+ mkdir -p ${SRC_REPO}
+
+ BASENAME="${ARTIFACT_ID}-${VERSION}-${JAR_TAG[${ARTIFACT_ID}]}.jar"
+ wget -c -P ${SRC_REPO} "${REPO_ROOT}/${SRC_REPO}/io/fd/${REPO_NAME}/${ARTIFACT_ID}/${JAR_VERSION}/${BASENAME}"
+
+# maven_push "${ARTIFACT_ID}" "${VERSION}" "jar" "${DST_REPO}" "${SRC_REPO}/${BASENAME}"
+ push_jar "${SRC_REPO}/${BASENAME}" "${DST_REPO}" "${REPO_ROOT}/${DST_REPO}" "${VERSION}"
+done
+
diff --git a/vagrant/lib/respin-functions.sh b/vagrant/lib/respin-functions.sh
index 9a9f9809c..0cb3e828e 100644
--- a/vagrant/lib/respin-functions.sh
+++ b/vagrant/lib/respin-functions.sh
@@ -1,6 +1,7 @@
#!/bin/bash
# Copyright 2016 The Linux Foundation <cjcollier@linuxfoundation.org>
+CI_MGMT=$(realpath $(dirname $(realpath $0))/..)
PVE_ROOT="${HOME}/src/python-virtual"
CPPROJECT=${CPPROJECT:-fdio}