diff --git a/.travis.yml b/.travis.yml
index 2fa26c41a93f388742f38133c7fe10df88e6c198..f364a4d1b48e85ac3bbac98318bb36234fd4910a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,5 +12,6 @@ install:
  - pip install -r requirements.txt
 after_success:
  - CODECLIMATE_REPO_TOKEN=e8e05973a6c49139de5f98013cd285f9238b78d20f053f37f6e7deeab2c2c52f codeclimate-test-reporter
+ - bash build.sh
 services:
  - rabbitmq
diff --git a/build.sh b/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..1f9ee202064331466f5385f44fa5756733723a0b
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+set -x
+set -e
+
+if [ $TRAVIS_BRANCH == "master" ]; then
+    pip install wheel twine
+    python setup.py bdist bdist_wheel
+    twine upload -u $PYPI_USER -p $PYPI_PWD dist/*
+fi