summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/honeycomb/honeycomb.yaml15
-rw-r--r--jjb/honeycomb/include-raw-honeycomb-pkg-push.sh16
-rw-r--r--jjb/scripts/maven_push_functions.sh90
3 files changed, 120 insertions, 1 deletions
diff --git a/jjb/honeycomb/honeycomb.yaml b/jjb/honeycomb/honeycomb.yaml
index 15b753d4c..1b8cc43c2 100644
--- a/jjb/honeycomb/honeycomb.yaml
+++ b/jjb/honeycomb/honeycomb.yaml
@@ -6,10 +6,15 @@
- 'honeycomb-integration-{stream}-{os}'
- 'honeycomb-verify-image-{stream}-{os}'
project: 'honeycomb'
+ os:
+ - ubuntu1404:
+ repo-os-part: 'ubuntu.trusty.main'
+ - centos7:
+ repo-os-part: 'centos7'
stream:
- master:
branch: 'master'
- os: 'ubuntu1404'
+ repo-stream-part: 'master'
- job-template:
name: 'honeycomb-verify-{stream}-{os}'
@@ -157,6 +162,10 @@
project: '{project}'
- os-parameter:
os: '{os}'
+ - maven-project-parameter:
+ maven: '{mvn33}'
+ - repo-name-parameter:
+ repo-name: '{repo-stream-part}.{repo-os-part}'
scm:
- gerrit-trigger-scm:
@@ -190,6 +199,10 @@
global-settings-type: cfp
postbuilders:
+ - shell:
+ !include-raw-escape:
+ - ../scripts/maven_push_functions.sh
+ - include-raw-honeycomb-pkg-push.sh
- shell: |
if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.7.0-openjdk-amd64;fi
diff --git a/jjb/honeycomb/include-raw-honeycomb-pkg-push.sh b/jjb/honeycomb/include-raw-honeycomb-pkg-push.sh
new file mode 100644
index 000000000..c501a08f1
--- /dev/null
+++ b/jjb/honeycomb/include-raw-honeycomb-pkg-push.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+if [ "${OS}" == "centos7" ]; then
+
+ # Build the rpms
+
+ ./packaging/rpm/rpmbuild.sh
+
+ # Find the files
+ RPMS=$(find . -type f -iname '*.rpm')
+ SRPMS=$(find . -type f -iname '*.srpm')
+ SRCRPMS=$(find . -type f -name '*.src.rpm')
+ for i in $RPMS $SRPMS $SRCRPMS
+ do
+ push_rpm "$i"
+ done
+fi \ No newline at end of file
diff --git a/jjb/scripts/maven_push_functions.sh b/jjb/scripts/maven_push_functions.sh
new file mode 100644
index 000000000..2d6ae791f
--- /dev/null
+++ b/jjb/scripts/maven_push_functions.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+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 "*******************************************************************"
+
+# 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
+}