diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index f1875b3481da6d11053e5ad8aed49ae53033e5c4..0000000000000000000000000000000000000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-variables:
-    GIT_STRATEGY: none
-    DOCKER_IMAGE: webpage:$CI_PIPELINE_ID
-
-workflow:
-  rules:
-    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
-    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
-      when: never
-    - if: '$CI_COMMIT_BRANCH'
-
-stages:
-    - build
-    - test
-    - release
-    - cleanup
-
-
-Build Linter:
-    stage: build
-    variables:
-        GIT_STRATEGY: clone
-        GIT_DEPTH: 0
-    script: docker build -t "${DOCKER_IMAGE}" .
-
-Test mkdocs:
-    stage: test
-    script: docker run ${DOCKER_IMAGE}
-
-Check wording of changed md-files:
-    stage: test
-    script:
-        - docker run --rm -w /src -e CI_MERGE_REQUEST_TARGET_BRANCH_NAME "${DOCKER_IMAGE}"
-          doc.zih.tu-dresden.de/util/grep-forbidden-words.sh
-    only: [ merge_requests ]
-
-Lint changed md-files:
-    stage: test
-    script:
-        - docker run --rm -w /src -e CI_MERGE_REQUEST_TARGET_BRANCH_NAME "${DOCKER_IMAGE}"
-          doc.zih.tu-dresden.de/util/lint-changes.sh
-    only: [ merge_requests ]
-
-Check spelling for changed md-files:
-    stage: test
-    script:
-        - docker run --rm -w /src -e CI_MERGE_REQUEST_TARGET_BRANCH_NAME "${DOCKER_IMAGE}"
-          doc.zih.tu-dresden.de/util/check-spelling.sh
-    only: [ merge_requests ]
-
-Check links for changed md-files:
-    stage: test
-    script:
-        - docker run --rm -w /src -e CI_MERGE_REQUEST_TARGET_BRANCH_NAME "${DOCKER_IMAGE}"
-          doc.zih.tu-dresden.de/util/check-links.sh
-    only: [ merge_requests ]
-
-Lint md-files:
-    stage: test
-    script: docker run --rm "${DOCKER_IMAGE}" markdownlint docs
-    only: [ main, preview ]
-
-Check links for md-files:
-    stage: test
-    script:
-        - docker run --rm "${DOCKER_IMAGE}"
-          bash -c "find docs -type f -name '*.md' | xargs -L1 markdown-link-check --quiet"
-    only: [ main, preview ]
-
-Release preview branch:
-    stage: release
-    script:
-        - docker run --rm -v /var/www/html/preview:/mnt "${DOCKER_IMAGE}" mkdocs build --strict --site-dir /mnt
-    only: [ preview ]
-
-Release:
-    stage: release
-    script:
-        - docker run --rm -v /var/www/html/hpc-wiki:/mnt "${DOCKER_IMAGE}" mkdocs build --strict --site-dir /mnt
-    only: [ main ]
-
-Cleanup docker:
-    stage: cleanup
-    script:
-        - docker rmi -f "${DOCKER_IMAGE}"
-        - docker system prune --force
-    when: always
diff --git a/doc.zih.tu-dresden.de/docs/contrib/howto_contribute.md b/doc.zih.tu-dresden.de/docs/contrib/howto_contribute.md
index 3d3082e8969d486934449020fd7118f37a036e5d..ddb3951515d36a8344cd604f960560ed2c5e404d 100644
--- a/doc.zih.tu-dresden.de/docs/contrib/howto_contribute.md
+++ b/doc.zih.tu-dresden.de/docs/contrib/howto_contribute.md
@@ -4,15 +4,86 @@
 
     Ink is better than the best memory.
 
-This documentation is written in markdown and translated into static html pages using
-[mkdocs](https://www.mkdocs.org/). A single configuration file holds the pages structure
-as well as specification of the theme and extensions. This file is `mkdocs.yaml`.
+In this section you will find information on the technical setup of this documentation, the applied
+content rules, Git workflow and certain ways for contribution.
+
+Your contributions are highly welcome. This can range from adding new content, fixing typos,
+improving the phrasing and wording, adopting examples and command lines, etc. Our goal is to
+provide a consistent and up to date documentation. Thus, it is by no means a static documentation.
+Moreover, is is constantly reviewed and updated.
 
-We manage all essential files (markdown pages, graphics, configuration, theme, etc.) within a Git
-repository, which makes it quite easy to contribute to this documentation. In principle, there are
-three possible ways how to contribute to this documentation. These ways are outlined below.
+## Technical Setup
 
-## Content Guide Lines
+This documentation is written in markdown and translated into static html pages using
+[mkdocs](https://www.mkdocs.org/). The single configuration file `mkdocs.yml` holds the pages
+structure as well as specification of the theme and extensions.
+
+We manage all essential files (markdown pages, graphics, configuration, theme, etc.) within a
+[public Git repository](https://gitlab.hrz.tu-chemnitz.de/zih/hpcsupport/hpc-compendium), which
+makes it quite easy to contribute to this documentation. In principle, there are three possible ways
+how to contribute to this documentation. These ways are outlined below.
+
+!!! tip "Before you start"
+
+    Before you start your very first commit, please make sure, that you are familiar with our
+    [Git workflow](#git-workflow) and that you have at least skimmed the
+    [Content Guide Lines](content_rules.md).
+
+## Git Workflow
+
+We employ a so-called Git feature workflow with development branch. In our case, the working branch
+is called `preview` and is kept in parallel to the `main` branch.
+
+All contributions, e.g., new content, improved wording, fixed typos, etc, are added to separate
+feature branches which base on `preview`. If the contribution is ready, you will have to create a
+merge request back to the `preview` branch. A member of ZIH team will review the changes (four-eyes
+principle) and finally merge your changes to `preview`. All contributions need to pass the CI
+pipeline consisting of several checks to comply the content rules. Please, don't worry to much about
+this checks. ZIH staff will help you with that. You will find more information on the
+[CI/CD pipeline](cicd-pipeline) in the eponymous subsection.
+
+The changes on `preview` branch are either automatically merged into the `main` branch on every
+Monday via a pipeline schedule, or manually by admin staff. Moreover, the `main` branch is deployed
+to [https://compendium.hpc.tu-dresden.de](https://compendium.hpc.tu-dresden.de) and always reflects
+a production-ready state. Manual interventions are only necessary in case of merge conflicts. The
+admin staff will take care on this process.
+
+???+ note "Graphic on Git workflow"
+
+    The applied Git workflow is depicted in the following graphic. Here, two feature branches `foo`
+    and `bar` are created basing on `preview`. Three individual commits are added to branch `foo`
+    before it is ready and merged back to `preview`. The contributions on `bar` consist only one
+    commit. In the end, all contribution are merged to the `main` branch.
+
+    ```mermaid
+    %% Issues:
+    %% - showCommitLabel: false does not work; workaround is to use `commit id: " "`%%
+    %% - Changing the theme does not effect the rendered output. %%
+    %%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showCommitLabel': false} }%%
+    gitGraph
+        commit
+        branch preview
+        checkout preview
+        commit
+        branch foo
+        checkout foo
+        commit
+        commit
+        checkout preview
+        branch bar
+        checkout bar
+        commit
+        checkout preview
+        merge bar
+        checkout foo
+        commit
+        checkout preview
+        merge foo
+        checkout main
+        merge preview
+    ```
+
+## Content Rules
 
 To ensure a high-quality and consistent documentation and to make it easier for readers to
 understand all content, we set some [Content rules](content_rules.md). Please follow
@@ -46,8 +117,8 @@ documentation.
 
 If you have a web browser (most probably you are using it to read this page) and want to contribute
 to the documentation, you are good to go. GitLab offers a rich and versatile web interface to work
-with repositories. To start fixing typos and edit source files, please find more information on
-[Contributing via web browser](contribute_browser.md).
+with repositories. To start fixing typos and edit source files, please find more information on the
+page [Contributing via web browser](contribute_browser.md).
 
 ## Contribute via Local Clone
 
@@ -56,3 +127,16 @@ used in the back-end. Using them should ensure that merge requests will not be b
 due to automatic checking.
 The page on [Contributing via local clone](contribute_container.md) provides you with the details
 about how to setup and use your local clone of the repository.
+
+
+
+## CI/CD Pipeline
+
+All contributions need to pass the CI pipeline which consists of various checks to ensure, that the
+[contentent rules](content_rules.md) are meet.
+
+The stages of the CI/CD pipeline are defined in a `.gitlab.yaml` file. For security reasons, this
+file is managed in a second, private repository.
+
+
+