diff --git a/.semaphoreci/setup.sh b/.semaphoreci/setup.sh
new file mode 100755
index 000000000..52f253d1d
--- /dev/null
+++ b/.semaphoreci/setup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+set -e
+
+pip install --user -r requirements.txt
+
+make pull-images
+make validate
diff --git a/.semaphoreci/tests.sh b/.semaphoreci/tests.sh
new file mode 100755
index 000000000..15bb0fa6b
--- /dev/null
+++ b/.semaphoreci/tests.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -e
+
+make test-unit && make test-integration
+make -j${N_MAKE_JOBS} crossbinary-default-parallel
diff --git a/.semaphoreci/vars b/.semaphoreci/vars
new file mode 100644
index 000000000..15a5e501d
--- /dev/null
+++ b/.semaphoreci/vars
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+set -e
+
+export secure='btt4r13t09gQlHb6gYrvGC2yGCMMHfnp1Mz1RQedc4Mpf/FfT8aE6xmK2a2i9CCvskjrP0t/BFaS4yxIURjnFRn+ugQIEa0pLspB9UJArW/vgOSpIWM9/OQ/fg8z5XuMxN6Md4DL1/iLypMNSageA1x0TRdt89+D1N1dALpg5XRCXLFbC84TLi0gjlFuib9ibPKzEhLT+anCRJ6iZMzeupDSoaCVbAtJMoDvXw4+4AcRZ1+k4MybBLyCib5boaEOt4pTT88mz4Kk0YaMwPVJyg9Qv36VqyUcPS09Yd95LuyVQ4+tZt8Y1ccbIzULsK+sLM3hLCzxlmlpN3dQBlZJiiRtQde0mgGAKyC0P0A1XjuDTywcsa5edB+fTk1Dsewz9xZ9V0NmMz8t+UNZnaSsAPga9i86jULbXUUwMVSzVRc+Xgx02liB/8qI1xYC9FM6ilStt7rn7mF0k3KbiWhcptgeXjO6Lah9FjEKd5w4MXsdUSTi/86rQaLo+kj+XdaTrXCTulKHyRyQEUj+8V1w0oVz7pcGjePHd7y5oU9ByifVQy6sytuFBfRZvugM5bKHo+i0pcWvixrZS42DrzwxZJsspANOvqSe5ifVbvOkfUppQdCBIwptxV5N1b49XPKU3W/w34QJ8xGmKp3TFA7WwVCztriFHjPgiRpB3EG99Bg='
+
+export REPO='containous/traefik'
+
+if VERSION=$(git describe --exact-match --abbrev=0 --tags);
+then
+  export VERSION
+else
+  export VERSION=''
+fi
+
+export CODENAME=raclette
+
+export N_MAKE_JOBS=2