diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d34f968165057b799d48c89f2f2517ecbcd47e36
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,27 @@
+build:
+  stage: build
+  image: ubuntu:trusty
+  variables:
+    DEBIAN_FRONTEND: noninteractive
+  before_script:
+    - sudo apt-get update
+    - sudo apt-get install -y dvipng python-imaging rubber texlive-fonts-recommended texlive-latex-extra texlive-math-extra
+    - wget -O plastex.tar.gz https://github.com/tiarno/plastex/archive/1.0.0.tar.gz
+    - tar -xzvf plastex.tar.gz
+    - cd plastex-1.0.0 && sudo python setup.py install
+  script:
+    - cd org.rodinp.handbook.feature
+    - ant -file customBuild.xml
+    - cd ..
+    - cp -r org.rodinp.handbook.feature/build/eclipse/* org.rodinp.handbook/
+    - mvn -f org.rodinp.handbook.parent/pom.xml install
+    - mkdir -p upload/current
+    - cp -r org.rodinp.handbook.feature/build/files upload/current/
+    - cp -r org.rodinp.handbook.feature/build/html upload/current/
+    - cp -r org.rodinp.handbook.feature/build/pdf upload/current/
+    - mkdir -p upload/updatesite
+    - cp -r org.rodinp.handbook.repository/target/repository/* upload/updatesite/
+    - cp org.rodinp.handbook.releng/index.html upload/updatesite/
+  artifacts:
+    paths:
+      - upload
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 7f5819bab705c916ef10b2f36fbd1c073897dfff..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-sudo: required
-language: java
-before_install:
-  - sudo apt-get -qq update
-  - sudo apt-get install -y python-imaging rubber
-  - sudo apt-get install -y dvipng texlive-latex-extra texlive-math-extra texlive-fonts-recommended
-  - rvm install 2.0.0
-  - gem install travis-custom-deploy
-install:
-  - wget -O plastex.tar.gz https://github.com/tiarno/plastex/archive/1.0.0.tar.gz
-  - tar -xzvf plastex.tar.gz
-  - cd plastex-1.0.0 && sudo python setup.py install
-script:
-  - cd $TRAVIS_BUILD_DIR
-  - cd org.rodinp.handbook.feature
-  - ant -file customBuild.xml
-  - cd ..
-  - cp -r org.rodinp.handbook.feature/build/eclipse/* org.rodinp.handbook/
-  - mvn -f org.rodinp.handbook.parent/pom.xml install
-  - mkdir -p upload/current
-  - cp -r org.rodinp.handbook.feature/build/files upload/current/
-  - cp -r org.rodinp.handbook.feature/build/html upload/current/
-  - cp -r org.rodinp.handbook.feature/build/pdf upload/current/
-  - mkdir -p upload/updatesite
-  - cp -r org.rodinp.handbook.repository/target/repository/* upload/updatesite/
-  - cp org.rodinp.handbook.releng/index.html upload/updatesite/
-after_success:
-  - travis-custom-deploy sftp upload
-env:
-  global:
-  - secure: QfHLesV1wqgrSOLBAV8+7x977KxBcd5H6GIa+qxJZBDAKS7Dkp0yLdPtujBvC4CPPjcG6kZG89rDARRHU+XNC0C3w1ZzHjCuhYmd4eKOKwi0ENF9wBYi94Z5QVhDR37xq91lR09cnMh+ueBgu2XKiZJxAmbbcuo6lEEdeI0Arsc=
-  - secure: Cj47nbAhrPq+3x86d+TxHXnVC7GbS+ybnumNFeDmXww6c7+Ywsf+haYIgOuuoY2gFc6TAlbomvAdrBg+LVEYjIKblh7KJ+7QwSLCJPMHyuv41xTjqmp1KTHqDbInKsUUl5Hg+pHD1JzX3tSJ3SEqmTFiMpTjjE8SdtDpuIUDg+E=
-  - secure: cuoJ8L1wwA2NUCcSqnw1VcfnAkkudmcY3MByH6CSktPCDbcfwrjGfGZGzKQyl/2y5Ffjico9Htw/bO1xGNeII1H/iTLBv41jEupx8MNsfhBU2aSfsyViWox68ANljWyzp31F3Gmpwt3h+Xi/s/B+Mbq/QUjKfxsJeNgp2MdXgLU=
-  - secure: goK840fWiFfG6fIxj+YFx2yw2Le5MZwP3rlrKQKIvdY6+U9+rn9hzEIGqLpsUflr2KyqWkLc2iietrkYiLDlabObEwt/1FeISTxwit6J5nC7TH+oXFZGK18pj79EemdEdUQEVmFAVoh/ihykIbC5rR7ExP58CPE/BhSZPw432wY=
-notifications:
-  slack:
-    secure: IuoMqGlkcjXGX+HFmn+7Lb8XUisFID2CJOZcB5P1lAVH1I9l0hwBo4bYebe09FCk799FObCBG50Whet/swUnYN4ZQedkkAAR0h8UZB8HWLsfrJTBjIeIbaBzjZ75VkxAMMa9shodeV+jquupHZXyVul6aBmKzq7ydLy6lXYPx58=