diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000..4a2997e329
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,16 @@
+language: java
+sudo: false
+jdk:
+- oraclejdk8
+addons:
+ apt:
+ packages:
+ - oracle-java8-installer
+install: true
+script: "./travis/build.sh"
+env:
+ global:
+ - secure: XkhMC3ytOrlgL4wNFRF3Wi3WxQl1vef1WxUpHn5/k4Y3oLDEJVTv5r06VhJz+hU+drdMPy1cJPmOCRleP+gNdM+Ka53aBaIJ1Hdmxw4vboZ05qHcNR29mi4F0EDvzZf3FtdWz4oXsLF/aW5+ZP4UzPa+jvpYmkvQa7MEM070mDUdWtYP/4N72aa934B/0lbmGithVbItuNabvYb4S+0MEXSTM6WAGE5I+Q+UbOwatHqqwzMZDuScA556XOc9NSDffcwgNKOuD7SmK3JETn3iFMXvSaMv21dL5ehiIJlUDVpQhMLWKlCj9Hh3VqX3ojML12CwO58+oAz4BvnR+pfQR6cC+Q7DyghxGs/+J02rBAJYIFlCCS/PqmrfdmriU8ejb/uiyPCsDNTgpEY9+92Puq/DswliRG+9YI0swN7qDSGzPWqriG7hoFmELHk6OZtX7VlRYNK6M+jfyY12SuPjQF2Mm1h18+A8thq8IXrTAB1FgtH5Or3ZVTuAPwEDBhJuk63uYZd19klINEzktxiB3WEgKCX4YMICKnxikBDXvCMid+tFV9nJclw7xFlOab9+GgkBHDbjcCBVwwPci2ieGVSC3sZb/5SS6whNYBFIO16rNTN+KyAONX4P6WQ6Ffg4FZEzKiU1c+HS0T87x2gUMJsAlTL9dUEcwvWCYLIPsBM=
+ - secure: sH3m1bxlyUt/wy7edGEhAMvmk65SEKPPFW0rkC2h5dPXNScLmMtnv9Hk+AfmqWHervU0os1OuJjviocjyemY/Hp45WDweNBre4cQK/WBQwPKv+lcOMwqVbqQpQoeuauw42Lz1VBmQ/MqcCxhnXPdagEETgFYPaMYIN0LiUq4j6CMqHMGu1maljJgDc2fRe/OdKU+aAzksfAX+2ZAH3tQ7EBvJT3pP1FoJAOqQqQ5TGWYQ8R/jZSuDQXsBLdvmXzR2J9OPSzByk9PJaYtbKNrpynP9XzpXbr03Jq7Z6Fq1rxv/gjgzi8Rid6e1rJ6R93TbgzOltA8qQF6cVT73MzDCFHte8qCimN7WrH6Rt/Fw+b+t7ROjUjFWLGeJE5ujSbLDtlyaMccmyRx1tmxpTZg3F7FxhhbeYSYWZJ5W7u3Qi3vDKRVQvRh45EIAHVllDX/5hUZB8F8U517DpkXUdUCOPLiDbosJLow2L6RLywmQswIeD3oRGxQjbZ8x90glalq2dm/QIS0Q0s0OOO0+C/CNrEcEQqufSFQRT7m+XU5XMf5Wu/kpPNsRcXGXYj8aXi5mZbnXc3E0XyJhgQlrrWzJUTMI/U0jfFW1+ZZO/8YWlsShIdazWriPuXwBQqJG4Kshe95TcJY1RJc7McN8VUAuCAiJ/KsF3GUbsfWSejt3o0=
+ # RUNELITE_BACKEND
+ - secure: psryZwj3/+xW2ZF/pjJR2UqCBVnUOdb8pbMia34yc5vQ2CCB2+ZrtIJyCEBXVpyZEgNj3qwgNtuj2tl1wameBVdrfVBBlkotlM120aeRwvMkmsggcNhTexf9SXcuRD34xGWvN7hF19ZiKBZk6rHWgzkDupFOPEAk/Q0E2swHW/YPeK8MKvRbY+UAK1WkY+TO4aJoVvDq9tc7Jbpj5XDhY6RLUb/96D+SnpBsnUG7GCpZxzavEZPMrGnMgntPlew9nWLHHcBKZbkMgTfD+X1fOrEG+kylOKIkV0afby5diKknVmLTfUUi1HrHUsvmoojcMtpBFN6yFGG7qrQV1DpZ/gZUcavWMNcBqrp03Dkb9Mtv2pnAI/KTERF3EmuzBM7/dmV/gw7Q+DmZBk97MV1ZFTvRcMu8u9OqC2TV9Xao3DqJV4dBA/d2CJrQHHdJopnh5kiEQtsWJvvqV1eLLBXY7EukMgmbYSb8ihOBY8Hi5tlIMit7j/RJCqM6jHlHEN9XcPOmNNab2liPiviWTQrvrantc2UxhgTX40DyhnDmVZIXIyS0ubqhRCgdxKuABS5aLY6SI0byXlQVj1GS1onZm9LxiTM1tq5EgCyQGBa0/6EpQNk1CNUF1dpZC7gOOFLC9nSQaBgRhqU19+6ctWTJjiTo+4WnTvutRZ3ZXoR9CE8=
diff --git a/pom.xml b/pom.xml
index 6d495f0b08..0b2e7632e3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,4 +49,24 @@
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.19
+
+ -Xmx512m
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 2.10
+
+
+
diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml
index 5ca60cfe0a..6cd12f7e6d 100644
--- a/runelite-api/pom.xml
+++ b/runelite-api/pom.xml
@@ -12,14 +12,4 @@
api
1.0.0-SNAPSHOT
Runelite API
-
-
-
-
- org.apache.maven.wagon
- wagon-ssh
- 2.10
-
-
-
diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml
index 856c116e82..385d19e9cc 100644
--- a/runelite-client/pom.xml
+++ b/runelite-client/pom.xml
@@ -54,14 +54,4 @@
test
-
-
-
-
- org.apache.maven.wagon
- wagon-ssh
- 2.10
-
-
-
diff --git a/travis/build.sh b/travis/build.sh
new file mode 100755
index 0000000000..fa2480f524
--- /dev/null
+++ b/travis/build.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
+ ssh-keyscan -t rsa $RUNELITE_BACKEND > ~/.ssh/known_hosts 2>/dev/null
+
+ openssl aes-256-cbc -d -in travis/runelite.key.enc -out ~/.ssh/runelite -k $SECRET_KEY
+ chmod 600 ~/.ssh/runelite
+
+ set -o pipefail
+ mvn clean deploy --settings travis/settings.xml | sed "s/$RUNELITE_BACKEND/REDACTED/g"
+ exit
+else
+ set -o pipefail
+ mvn clean verify --settings travis/settings.xml | sed "s/$RUNELITE_BACKEND/REDACTED/g"
+ exit
+fi
diff --git a/travis/runelite.key.enc b/travis/runelite.key.enc
new file mode 100644
index 0000000000..f7b427948d
Binary files /dev/null and b/travis/runelite.key.enc differ
diff --git a/travis/settings.xml b/travis/settings.xml
new file mode 100644
index 0000000000..1a3ec098d5
--- /dev/null
+++ b/travis/settings.xml
@@ -0,0 +1,276 @@
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ runelite
+ runelite
+ ${user.home}/.ssh/runelite
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ runelite
+
+
+ ${env.RUNELITE_REPOSITORY_URL}
+
+
+
+
+
+
+ runelite
+
+