diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cfd7fea4774e5a05ed5b2a322955e748b19ab8ea..55e3f6938b56ea972a53058155c357411082371b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,6 +4,7 @@
 #
 # Copyright (C) 2018 Research Group Biomedical Physics,
 # Max-Planck-Institute for Dynamics and Self-Organization Göttingen
+# Copyright (C) 2019 Henrik tom Wörden
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as
@@ -22,71 +23,68 @@
 #
 
 variables:
-   CI_REGISTRY_IMAGE: $CI_REGISTRY/caosdb-pylib-testenv
-   # When using dind service we need to instruct docker, to talk with the
-   # daemon started inside of the service. The daemon is available with
-   # a network connection instead of the default /var/run/docker.sock socket.
-   #
-   # The 'docker' hostname is the alias of the service container as described at
-   # https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#accessing-the-services
-   #
-   # Note that if you're using the Kubernetes executor, the variable should be set to
-   # tcp://localhost:2375/ because of how the Kubernetes executor connects services
-   # to the job container
-   # DOCKER_HOST: tcp://localhost:2375/
-   #
-   # For non-Kubernetes executors, we use tcp://docker:2375/
-   DOCKER_HOST: tcp://docker:2375/
-   # When using dind, it's wise to use the overlayfs driver for
-   # improved performance.
-   DOCKER_DRIVER: overlay2
+  CI_REGISTRY_IMAGE: $CI_REGISTRY/caosdb-pylib-testenv
+  # With dind the docker deamon is available on the network
+  DOCKER_HOST: tcp://docker:2375/
+  # When using dind, it's wise to use the overlayfs driver for
+  # improved performance.
+  DOCKER_DRIVER: overlay2
+
 services:
-   - docker:dind
+  - docker:dind
 
 image: $CI_REGISTRY_IMAGE:latest
 
 stages:
-    - code_style
-    - setup
-    - test
-    - deploy
+  - code_style
+  - setup
+  - test
+  - deploy
     
+# check code style 
 code_style:
-    stage: code_style
-    script:
-        - pycodestyle --count ./
-        - pylint3 --unsafe-load-any-extension=y -d all -e E,F src/caosdb/common
-    allow_failure: true
+  tags: [ docker ]
+  stage: code_style
+  script:
+    - pycodestyle --count ./
+    - pylint3 --unsafe-load-any-extension=y -d all -e E,F src/caosdb/common
+  allow_failure: true
 
 
 # pylint tests for pycaosdb
 test:
-    stage: test
-    script:
-        - touch ~/.pycaosdb.ini
-        - tox -r 
+  tags: [ docker ]
+  stage: test
+  script:
+    - touch ~/.pycaosdb.ini
+    - tox -r 
 
+# Trigger building of server image and integration tests
 trigger_build:
+  tags: [ docker ]
   stage: deploy
   script:
     - echo $TOKEN     
     - /usr/bin/curl -X POST
-       -F token=$TOKEN
-       -F "variables[PYLIB]=$CI_COMMIT_REF_NAME"
-       -F "variables[TriggerdBy]=PYLIB"
-       -F ref=master https://gitlab.indiscale.com/api/v4/projects/14/trigger/pipeline
+      -F token=$TOKEN
+      -F "variables[PYLIB]=$CI_COMMIT_REF_NAME"
+      -F "variables[TriggerdBy]=PYLIB"
+      -F "variables[TriggerdByHash]=$CI_COMMIT_SHORT_SHA"
+      -F ref=master https://gitlab.indiscale.com/api/v4/projects/14/trigger/pipeline
 
+# Build a docker image in which tests for this repository can run
 build-testenv:
-    image: docker:latest
-    stage: setup
-    script: 
-        - cd unittests/docker
-        - docker login -u testuser -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
-          # use here general latest or specific branch latest...
-        - docker pull $CI_REGISTRY_IMAGE:latest || true
-        - docker build 
-          --pull
-          --build-arg COMMIT=$CI_COMMIT_SHORT_SHA
-          --cache-from $CI_REGISTRY_IMAGE:latest 
-          -t $CI_REGISTRY_IMAGE:latest .
-        - docker push $CI_REGISTRY_IMAGE:latest
+  tags: [ docker ]
+  image: docker:latest
+  stage: setup
+  script: 
+    - cd unittests/docker
+    - docker login -u testuser -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+      # use here general latest or specific branch latest...
+    - docker pull $CI_REGISTRY_IMAGE:latest || true
+    - docker build 
+      --pull
+      --build-arg COMMIT=$CI_COMMIT_SHORT_SHA
+      --cache-from $CI_REGISTRY_IMAGE:latest 
+      -t $CI_REGISTRY_IMAGE:latest .
+    - docker push $CI_REGISTRY_IMAGE:latest