diff --git a/plays/gitlab.yml b/plays/gitlab.yml
index 65c51b31f43284887b7fd7ae40282cb07dadf5f9..3be109e0bb42570531b88e6380d72d3c8a9a89de 100755
--- a/plays/gitlab.yml
+++ b/plays/gitlab.yml
@@ -2,4 +2,6 @@
 ---
 # Deploy Gitlab CI
 - hosts: gitlab-ci.adm.crans.org
-  roles: ["docker"]
+  roles:
+    - docker
+    - gitlab-runner
diff --git a/roles/gitlab-runner/tasks/main.yml b/roles/gitlab-runner/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8ee0eafe59fc7531286632f2d42b5876db6eebbe
--- /dev/null
+++ b/roles/gitlab-runner/tasks/main.yml
@@ -0,0 +1,39 @@
+---
+- name: Install apt-transport-https
+  apt:
+    update_cache: true
+    name:
+      - apt-transport-https
+      - ca-certificates
+      - curl
+      - gnupg2
+      - software-properties-common
+    state: present
+  register: apt_result
+  retries: 3
+  until: apt_result is succeeded
+
+# Add the key
+- name: Configure Gitlab apt key
+  apt_key:
+    url: https://packages.gitlab.com/runner/gitlab-runner/gpgkey
+    id: F6403F6544A38863DAA0B6E03F01618A51312F3F
+    state: present
+  register: apt_key_result
+  retries: 3
+  until: apt_key_result is succeeded
+
+# Add the repository into source list
+- name: Configure Gitlab repository
+  apt_repository:
+    repo: deb https://packages.gitlab.com/runner/gitlab-runner/debian/ buster main
+    state: present
+
+- name: Install gitlab-runner
+  apt:
+    update_cache: true
+    name: gitlab-runner
+    state: present
+  register: apt_result
+  retries: 3
+  until: apt_result is succeeded