diff --git a/Jenkinsfile b/Jenkinsfile
index 1128f7dfe..7930ef366 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -95,6 +95,17 @@ pipeline {
milestone ordinal: 4
}
}
+ stage('Jenkins Linux: Deploy') {
+ agent none
+ steps {
+ script {
+ parallel ([
+ 'deploy-jvm-packages': { DeployJVMPackages(spark_version: '2.4.3') }
+ ])
+ }
+ milestone ordinal: 5
+ }
+ }
}
}
@@ -380,3 +391,18 @@ def TestR(args) {
deleteDir()
}
}
+
+def DeployJVMPackages(args) {
+ node('linux && cpu') {
+ unstash name: 'srcs'
+ if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME.startsWith('release')) {
+ echo 'Deploying to xgboost-maven-repo S3 repo...'
+ def container_type = "jvm"
+ def docker_binary = "docker"
+ sh """
+ ${dockerRun} ${container_type} ${docker_binary} tests/ci_build/deploy_jvm_packages.sh ${args.spark_version}
+ """
+ }
+ deleteDir()
+ }
+}
diff --git a/jvm-packages/pom.xml b/jvm-packages/pom.xml
index 11cce7276..6b31f5c17 100644
--- a/jvm-packages/pom.xml
+++ b/jvm-packages/pom.xml
@@ -205,6 +205,29 @@
+
+ release-to-s3
+
+
+ maven-s3-snapshot-repo
+ s3://xgboost-maven-repo/snapshot
+
+
+ maven-s3-release-repo
+ s3://xgboost-maven-repo/release
+
+
+
+
+ maven-s3-snapshot-repo
+ https://s3.amazonaws.com/xgboost-maven-repo/snapshot
+
+
+ maven-s3-release-repo
+ https://s3.amazonaws.com/xgboost-maven-repo/release
+
+
+
@@ -324,6 +347,13 @@
+
+
+ org.kuali.maven.wagons
+ maven-s3-wagon
+ 1.2.1
+
+
diff --git a/tests/ci_build/deploy_jvm_packages.sh b/tests/ci_build/deploy_jvm_packages.sh
new file mode 100755
index 000000000..cd74da370
--- /dev/null
+++ b/tests/ci_build/deploy_jvm_packages.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+set -e
+set -x
+
+if [ $# -ne 1 ]; then
+ echo "Usage: $0 [spark version]"
+ exit 1
+fi
+
+spark_version=$1
+
+# Initialize local Maven repository
+./tests/ci_build/initialize_maven.sh
+
+rm -rf build/
+cd jvm-packages
+# re-build package without Mock Rabit
+mvn --no-transfer-progress package -Dspark.version=${spark_version} -DskipTests
+
+# deploy to S3 bucket xgboost-maven-repo
+mvn --no-transfer-progress deploy -P release-to-s3 -DskipTests
+
+set +x
+set +e