diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7b4db593dba8eb10804f8bb383a4cb48c7bc8b4e..aa368018f0456ff8075656354273313e013dda97 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,6 @@
 stages:
   - retrieve
+  - generate
   - build
   - deploy
 
@@ -15,16 +16,20 @@ retrieve:repo:
     paths:
       - courses.lcsb.uni.lu
 
-build:index:
+generate:index:
   image: python
-  stage: build
+  stage: generate
   rules:
     - if: $CI_COMMIT_BRANCH == "develop"
   script:
     - python .ci/generateIndex.py
+  artifacts:
+    expire_in: 1 day
+    paths:
+      - courses.lcsb.uni.lu
 
 build:website:
-  image: git-r3lab.uni.lu:4567/r3/docker/jekyll-lcsb:1.6
+  image: git-r3lab.uni.lu:4567/r3/docker/jekyll-lcsb
   stage: build
   before_script:
     - cd courses.lcsb.uni.lu
@@ -59,7 +64,7 @@ build:courses:
 
 upload:
   stage: deploy
-  image: alpine:3.1
+  image: alpine
   before_script:
     - 'which ssh-agent || ( apk add --update openssh )'
     - eval $(ssh-agent -s)