From e1c4234eadd57c2d6f3e935186c7a96c66a650c3 Mon Sep 17 00:00:00 2001
From: Malte Bauch <malte.bauch@stud.h-da.de>
Date: Fri, 28 Oct 2022 12:40:09 +0000
Subject: [PATCH] Fix: Pages does not create a own page for develop and for
 master

See merge request danet/gosdn!397
---
 .gitlab-ci.yml                 |  2 +-
 .gitlab/ci/.mk-docs-deploy.yml | 65 +++++++++++++++++++++++-----------
 2 files changed, 46 insertions(+), 21 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 019371e51..432d6c3ad 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,7 +15,7 @@ stages:
     - analyze
     - integration-test
     - build-release
-    - publish
+    - deploy
     - .post
 
 include:
diff --git a/.gitlab/ci/.mk-docs-deploy.yml b/.gitlab/ci/.mk-docs-deploy.yml
index 62895a1e7..1fe2613ed 100644
--- a/.gitlab/ci/.mk-docs-deploy.yml
+++ b/.gitlab/ci/.mk-docs-deploy.yml
@@ -1,20 +1,45 @@
-image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/python:3.9.15
-cache:
-  # keep artifacts from previous builds
-  paths:
-    - public
-documentation:
-  stage: publish
-  script:
-    - pip install mkdocs-material
-    - mkdocs build --site-dir public/$CI_COMMIT_BRANCH
-  needs: []
-  artifacts:
-    name: "$CI_COMMIT_BRANCH"
-    paths:
-      - public
-    expire_in: 1 week
-  rules:
-      # run only for protected branches; in our case this should be master and
-      # develop.
-    - if: $CI_COMMIT_REF_PROTECTED == "true"
+build-mkdocs:
+    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/python:3.9.15-slim-bullseye
+    stage: build
+    before_script:
+        - pip install mkdocs-material
+    script:
+        - mkdocs build --site-dir mkdocs-built
+    artifacts:
+        paths:
+            - mkdocs-built
+    rules:
+        # run only for protected branches (this should be master and develop).
+        - if: $CI_COMMIT_REF_PROTECTED == "true"
+
+.pages-options: &pages-options
+    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/python:3.9.15-slim-bullseye
+    stage: deploy
+    script:
+        - mv mkdocs-built public
+    needs:
+        - job: build-mkdocs
+          artifacts: true
+    artifacts:
+        paths:
+            - public
+
+pages-develop:
+    <<: *pages-options
+    environment:
+        name: docs-develop
+        deployment_tier: development
+        url: "https://danet.h-da.io/-/gosdn/-/jobs/$CI_JOB_ID/artifacts/public/index.html"
+    rules:
+        # run only on development branch (this should be develop).
+        - if: $CI_COMMIT_BRANCH == "develop"
+
+pages:
+    <<: *pages-options
+    environment:
+        name: docs-master
+        deployment_tier: production
+        url: https://danet.h-da.io/gosdn
+    rules:
+        # run only on default branch (this should be master).
+        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-- 
GitLab