diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 234dd0fda224c923af78535ea77847ad29fdf984..0e85c49d06e331182c22ea2144d86d1175a09a77 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,11 +10,21 @@ default:
       - .gradle/native
       - .gradle/wrapper
   before_script:
+    - apt-get update
+    - apt-get install --assume-yes jupyter-client jupyter-console
     - export GRADLE_USER_HOME="${PWD}/.gradle"
 
 test:
   stage: test
-  script: ./gradlew ${GRADLE_OPTIONS} check shadowJar
+  script:
+    - ./gradlew ${GRADLE_OPTIONS} check shadowJar
+    # Test installation of kernel into Jupyter.
+    - java -jar build/libs/prob2-jupyter-kernel-*-all.jar install --user
+    # Test basic functionality of the installed kernel.
+    - |
+      jupyter console --kernel=prob2 --simple-prompt << EOF
+      :version
+      EOF
   artifacts:
     expire_in: 1 week
     paths: