diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3e009c3cc20993af29a358379f89a85904151caf
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,12 @@
+sonarqube-check:
+  variables:
+    SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"  # Defines the location of the analysis task cache
+    GIT_DEPTH: "0"  # Tells git to fetch all the branches of the project, required by the analysis task
+  cache:
+    key: "${CI_JOB_NAME}"
+    paths:
+      - .sonar/cache
+  script:
+    - sonar-scanner
+  allow_failure: true
+
diff --git a/sonar-project.properties b/sonar-project.properties
new file mode 100644
index 0000000000000000000000000000000000000000..56e49c09fe9c9a4232f4ed1709df9abb7b065ab6
--- /dev/null
+++ b/sonar-project.properties
@@ -0,0 +1,2 @@
+sonar.projectKey=fairdata_invenio-utilities_AXp23vwrQz8akf6NDIXV
+sonar.qualitygate.wait=true