diff --git a/NodeApp/.gitlab-ci/00_vars.yml b/NodeApp/.gitlab-ci/00_vars.yml
index 642e2de4b7e2ad37e4cdb90bab91aa7676f34cf3..65955c8e7bef95f42e8ade31285b19ced34c2b93 100644
--- a/NodeApp/.gitlab-ci/00_vars.yml
+++ b/NodeApp/.gitlab-ci/00_vars.yml
@@ -34,4 +34,18 @@ variables:
     VERSION_DEV_SUFFIX: '-dev'
     VERSION_TEST_SUFFIX: '-test'
 
-    WIKI_FOLDER: Wiki
\ No newline at end of file
+    WIKI_FOLDER: Wiki
+
+    DOC_CHANGELOG_FILE: ZolaApp/content/changelog/projects/101_cli.md
+    DOC_FILE_BEGIN: |
+        +++
+        title = "Dojo CLI"
+        slug = "dojo-cli"
+        weight = 101
+        template = "docs/page.html"
+        
+        [extra]
+        lead = "Changelog of The Dojo CLI."
+        toc = true
+        top = false
+        +++
diff --git a/NodeApp/.gitlab-ci/07_stagePkgAndSign.yml b/NodeApp/.gitlab-ci/07_stagePkgAndSign.yml
index 64032c58e7903c16aba5c9564f0b1ae57ee7df3c..9bc92c1271d8a4c5bbb38da65297a0637eaaf192 100644
--- a/NodeApp/.gitlab-ci/07_stagePkgAndSign.yml
+++ b/NodeApp/.gitlab-ci/07_stagePkgAndSign.yml
@@ -8,7 +8,7 @@ pkg_and_sign:debian:
     extends: .pkg_and_sign:debian
 
 
-pkg_and_sign:debian-test:
+pkg_and_sign:debian:test:
     parallel:
         matrix:
             -   ARCH: [ "arm64", "amd64" ]
@@ -29,7 +29,7 @@ pkg_and_sign:macos:
     extends: .pkg_and_sign:macos
 
 
-pkg_and_sign:macos-test:
+pkg_and_sign:macos:test:
     parallel:
         matrix:
             -   BIN_FOLDER_MACOS_PKG_AND_SIGN: [ "$BIN_FOLDER_MACOS_ARM64", "$BIN_FOLDER_MACOS_X64" ]
diff --git a/NodeApp/.gitlab-ci/08_stageClean.yml b/NodeApp/.gitlab-ci/08_stageClean.yml
index 0885aa18bbe5e7eac2a63f41b34e384aa8930317..ef5ae4c248e0caf6c90cd69f6c7f089ec0347078 100644
--- a/NodeApp/.gitlab-ci/08_stageClean.yml
+++ b/NodeApp/.gitlab-ci/08_stageClean.yml
@@ -24,7 +24,7 @@ clean:packages:
         -   if: '$CI_COMMIT_REF_PROTECTED == "true"'
 
 
-clean:dev:release:
+clean:release:dev:
     stage: clean
     tags:
         - gitlab_clean
@@ -38,7 +38,7 @@ clean:dev:release:
         -   if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
 
 
-clean:dev:packages:
+clean:packages:dev:
     stage: clean
     tags:
         - gitlab_clean
@@ -52,7 +52,7 @@ clean:dev:packages:
         -   if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
 
 
-clean:latest:release:
+clean:release:latest:
     stage: clean
     tags:
         - gitlab_clean
@@ -64,7 +64,7 @@ clean:latest:release:
         -   if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
 
 
-clean:pre-alpha:release:
+clean:release:pre-alpha:
     stage: clean
     tags:
         - gitlab_clean
diff --git a/NodeApp/.gitlab-ci/09_stageUpload.yml b/NodeApp/.gitlab-ci/09_stageUpload.yml
index 19b77df97d314f5f40fd8eacd133914249d16626..fac7c20fc3fff7648f4fe46b42a689d82e188149 100644
--- a/NodeApp/.gitlab-ci/09_stageUpload.yml
+++ b/NodeApp/.gitlab-ci/09_stageUpload.yml
@@ -30,7 +30,7 @@ upload:packages:
         -   if: '$CI_COMMIT_REF_PROTECTED == "true"'
 
 
-upload:packages:wiki:
+upload:packages:doc:wiki:
     stage: upload
     tags:
         - gitlab_package
diff --git a/NodeApp/.gitlab-ci/10_stageRelease.yml b/NodeApp/.gitlab-ci/10_stageRelease.yml
index d66bb5ae0e4b88cae9fdd47bb2d3905e32208fd9..0bb9f18d7afd1d151fde0848d081c32998548511 100644
--- a/NodeApp/.gitlab-ci/10_stageRelease.yml
+++ b/NodeApp/.gitlab-ci/10_stageRelease.yml
@@ -1,4 +1,4 @@
-release:wiki:
+release:doc:wiki:
     stage: release
     tags:
         - release
@@ -47,6 +47,47 @@ release:wiki:
         -   if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
 
 
+release:doc:changelog:
+    stage: release
+    tags:
+        - release
+    image: ubuntu:latest
+    script:
+        # Install dependencies
+        - apt-get update -y
+        - apt-get install -y openssh-client git unzip sshpass --fix-missing
+
+        # Add SSH key
+        - eval `ssh-agent -s`
+        - echo "$DOC_GIT_SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
+
+        - mkdir -p ~/.ssh
+        - chmod 700 ~/.ssh
+
+        - echo "$DOC_GIT_SSH_PUBLIC_KEY" >> ~/.ssh/id_rsa.pub
+        - echo "$DOC_GIT_SSH_PRIVATE_KEY" >> ~/.ssh/id_rsa
+
+        - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
+
+        # Set git config
+        - git config --global user.email "dojo@minelli.me"
+        - git config --global user.name "[Gitlab CI/CD] ${PROJECT_NAME}"
+
+        # Pull repo
+        - git clone ssh://git@ssh.hesge.ch:10572/dojo_project/projects/ui/dojodoc.git
+
+        # Do something after pulling your repo
+        - echo "${DOC_FILE_BEGIN}$(cat CHANGELOG.md)" > dojodoc/${DOC_CHANGELOG_FILE}
+
+        # Push repo changes into current repo
+        - cd dojodoc
+        - git add ${DOC_CHANGELOG_FILE}
+        - git commit -m "[Gitlab CI/CD] ${PROJECT_NAME} => Automatic update of changelog" || echo "No changes, nothing to commit!"
+        - git push
+    rules:
+        -   if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+
+
 release:gitlab:
     stage: release
     tags:
@@ -61,7 +102,7 @@ release:gitlab:
         -   if: '$CI_COMMIT_REF_PROTECTED == "true"'
 
 
-release:latest:gitlab:
+release:gitlab:latest:
     stage: release
     tags:
         - release
@@ -75,7 +116,7 @@ release:latest:gitlab:
         -   if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
 
 
-release:pre-alpha:gitlab:
+release:gitlab:pre-alpha:
     stage: release
     tags:
         - release