From 824b12b922e8a0569b68f842937e142744bbc598 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen.haas@lakedrops.com>
Date: Thu, 13 Feb 2025 09:43:17 +0100
Subject: [PATCH] Add CI/CD for building and deploying mkdocs project

---
 mkdocs.yml | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 mkdocs.yml

diff --git a/mkdocs.yml b/mkdocs.yml
new file mode 100644
index 0000000..98ec1d3
--- /dev/null
+++ b/mkdocs.yml
@@ -0,0 +1,71 @@
+stages:
+  - build
+  - deploy
+
+Build:
+  stage: build
+  tags:
+    - default
+  script:
+    - export WORKDIR=$(php /usr/local/bin/volume.php | cut -d":" -f 1)/${LAKEDROPS_PATH}
+    - echo "WorkDir is ${WORKDIR}"
+    - docker-compose up -d
+    - sleep 20
+    - docker-compose exec -T --workdir=/mkdocs mkdocs mkdocs build
+    - docker-compose down
+  artifacts:
+    name: build
+    when: always
+    paths:
+      - site/
+  only:
+    - main
+    - merge_requests
+
+Deploy:
+  stage: deploy
+  tags:
+    - ansible
+  variables:
+    GIT_STRATEGY: none
+  script:
+    - a -m synchronize -a "src=${PWD}/site/ dest=${LAKEDROPS_BASE_PATH} delete=yes" --limit=${LAKEDROPS_HOST}
+  cache: {}
+  only:
+    - main
+
+DeployMR:
+  stage: deploy
+  tags:
+    - ansible
+  variables:
+    GIT_STRATEGY: none
+  script:
+    - a -m file -a "dest=${LAKEDROPS_BASE_PATH}-mr/${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} state=directory" --limit=${LAKEDROPS_HOST}
+    - a -m synchronize -a "src=${PWD}/site/ dest=${LAKEDROPS_BASE_PATH}-mr/${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} delete=yes" --limit=${LAKEDROPS_HOST}
+  environment:
+    name: review/$CI_COMMIT_REF_SLUG
+    url: https://${LAKEDROPS_DOMAIN}/MR/$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
+    on_stop: CleanupDeployMR
+  cache: {}
+  only:
+    - merge_requests
+
+CleanupDeployMR:
+  stage: deploy
+  tags:
+    - ansible
+  variables:
+    GIT_STRATEGY: none
+  script:
+    - a -m file -a "path=${LAKEDROPS_BASE_PATH}-mr/${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} state=absent" --limit=${LAKEDROPS_HOST}
+  environment:
+    name: review/$CI_COMMIT_REF_SLUG
+    action: stop
+  cache: {}
+  rules:
+    - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "develop"'
+      when: never
+    - if: '$CI_MERGE_REQUEST_ID || $CI_PIPELINE_SOURCE == "pipeline"|| $CI_PIPELINE_SOURCE == "trigger"'
+      allow_failure: true
+      when: manual
-- 
GitLab