diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3ae98b5fee37dacdb2dd15786dd7f4a5f5d05798..6cfc699cb6b92d97f125b3bfe2f78e774db0a149 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,8 +1,46 @@
 image: omalaspinas/archlinux-pandoc:latest
 
+before_script:
+   ##
+   ## Install ssh-agent if not already installed, it is required by Docker.
+   ## (change apt-get to yum if you use an RPM-based image)
+   ##
+   - 'which ssh-agent || (pacman -S --noconfirm openssh)'
+   - 'which rsync || (pacman -S --noconfirm rsync)'
+
+
+   ##
+   ## Run ssh-agent (inside the build environment)
+   ##
+   - eval $(ssh-agent -s)
+
+   ##
+   ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
+   ## We're using tr to fix line endings which makes ed25519 keys work
+   ## without extra base64 encoding.
+   ## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
+   ##
+   - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
+
+   ##
+   ## Create the SSH directory and give it the right permissions
+   ##
+   - mkdir -p ~/.ssh
+   - chmod 700 ~/.ssh
+
+   ##
+   ## Add host id to known_hosts
+   ##
+   - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
+   - chmod 644 ~/.ssh/known_hosts
+
+
+
 build_only:
   script:
     - make
+    - make deploy
+    - rsync -avz mti malaspinas@129.194.185.180:/www/
 
 build_artifacts:
   script: