diff --git a/deploy/maven/sonatype-settings.xml b/deploy/maven/sonatype-settings.xml
new file mode 100644
index 000000000..7fb124457
--- /dev/null
+++ b/deploy/maven/sonatype-settings.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+ ossrh
+ ${env.SONATYPE_USERNAME}
+ ${env.SONATYPE_PASSWORD}
+
+
+
diff --git a/deploy/pubring.gpg.enc b/deploy/pubring.gpg.enc
new file mode 100644
index 000000000..fcbdf8089
Binary files /dev/null and b/deploy/pubring.gpg.enc differ
diff --git a/deploy/scripts/publish.sh b/deploy/scripts/publish.sh
new file mode 100755
index 000000000..29b1d910f
--- /dev/null
+++ b/deploy/scripts/publish.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -e
+
+SCRIPT_DIR=`dirname $0`
+DEPLOY_DIR=$SCRIPT_DIR/..
+openssl aes-256-cbc -pass pass:$gpg.passphrase -in $DEPLOY_DIR/pubring.gpg.enc -out pubring.gpg -d
+openssl aes-256-cbc -pass pass:$gpg.passphrase -in $DEPLOY_DIR/secring.gpg.enc -out secring.gpg -d
diff --git a/deploy/secring.gpg.enc b/deploy/secring.gpg.enc
new file mode 100644
index 000000000..6d6e0e13f
Binary files /dev/null and b/deploy/secring.gpg.enc differ
diff --git a/pom.xml b/pom.xml
index 2c2384785..5cd55fe18 100644
--- a/pom.xml
+++ b/pom.xml
@@ -129,6 +129,12 @@
org.apache.maven.plugins
maven-release-plugin
2.5.3
+
+ true
+ false
+ release
+ deploy
+
org.apache.maven.plugins
@@ -141,6 +147,7 @@
+
@@ -444,4 +451,85 @@
+
+
+ ossrh
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+ ossrh
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+ ossrh
+
+
+ performRelease
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 2.2.1
+
+
+ attach-sources
+
+ jar-no-fork
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.9.1
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+ false
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 1.5
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.2
+ true
+
+ ossrh
+ https://oss.sonatype.org/
+ true
+
+
+
+
+
+