diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0c8f9310ccec31c1185cdf6ca260ee5b1dd1e145..bd6af31ad9d86bc4031d3d8aba4e2b246114793e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,36 +8,36 @@ stages:
   - build-release
   - deploy
 
-build-release:
+build-release: #This will be executed if you oush on master, it makes a new release (latest) image
   stage: build
   only:
     - master
   script:
-    - echo "building for $CI_COMMIT_REF_NAME"
-    - sudo docker image prune -f
-    - sudo docker build -t gitlab.jonasled.de/jonasled/url_shorter_docker .
-    - sudo docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
-    - sudo docker push gitlab.jonasled.de/jonasled/url_shorter_docker
+    - echo "building for branch $CI_COMMIT_REF_NAME"
+    - sudo docker image prune -f #Delete old unused images
+    - sudo docker build -t gitlab.jonasled.de/jonasled/url_shorter_docker . #Build the image with the name already set to push
+    - sudo docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY #Login to docker registry, username and password will be filled while executing
+    - sudo docker push gitlab.jonasled.de/jonasled/url_shorter_docker #Push the image onto the Docker registry.
 
-build:
+build: #This will be executed on every push. With this script the beta image will be build
   stage: build
   script:
-    - echo "building for $CI_COMMIT_REF_NAME"
-    - sudo docker image prune -f
-    - sudo docker build -t gitlab.jonasled.de/jonasled/url_shorter_docker:beta .
-    - sudo docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
-    - sudo docker push gitlab.jonasled.de/jonasled/url_shorter_docker:beta
+    - echo "building for branch $CI_COMMIT_REF_NAME"
+    - sudo docker image prune -f #Delete old unused images
+    - sudo docker build -t gitlab.jonasled.de/jonasled/url_shorter_docker:beta . #Build the image with the name already set to push
+    - sudo docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY #Login to docker registry, username and password will be filled while executing
+    - sudo docker push gitlab.jonasled.de/jonasled/url_shorter_docker:beta #Push the image onto the Docker registry.
 
 deploy:
   stage: deploy
   only:
     - master
   script:
-    - sudo apt-get install -y python-pip
-    - sudo pip install docker-compose
-    - replace "5000:5000" "5003:5000" -- docker-compose.yml
-    - replace "domains=" "$domains" -- docker-compose.yml
-    - replace "recaptcha_private=" "$recaptcha_private" -- docker-compose.yml
+    - sudo apt-get install -y python-pip #install pip, this is needed to install docker-compose in the next step
+    - sudo pip install docker-compose #Install docker-compose with pip
+    - replace "5000:5000" "5003:5000" -- docker-compose.yml #replace in docker-compose some settings. Variables will be replaced on execute.
+    - replace "domains=" "$domains" -- docker-compose.yml #The domains I use for my url shorter
+    - replace "recaptcha_private=" "$recaptcha_private" -- docker-compose.yml #Recaptcha keys for protecting the create form from attacks
     - replace "recaptcha_public=" "$recaptcha_public" -- docker-compose.yml
-    - sudo docker-compose up -d
+    - sudo docker-compose up -d #Start the new container
   environment: master 
\ No newline at end of file