From daa43cc4648c1de842e0f2c7ee41e6c13d49a2da Mon Sep 17 00:00:00 2001 From: Christophe Chaudier <christophe@lydra.fr> Date: Wed, 3 Nov 2021 15:08:49 +0100 Subject: [PATCH] ci: add review app for MR --- .gitlab-ci.yml | 49 ++++++++++++++++++++++++++++++++++++++------ docusaurus.config.js | 4 ++-- 2 files changed, 45 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1e2606c..3920afd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,11 +1,17 @@ image: node:14.17.1-slim stages: - - test - - build + - 🧪 test + - 📠publish + - 🧽 clean + +variables: + SUB_GROUP: "www" + DOCUSAURUS_BASEURL: / + lint: - stage: test + stage: 🧪 test tags: - cache script: @@ -19,7 +25,7 @@ lint: - node_modules pages: - stage: build + stage: 📠publish tags: - cache script: @@ -34,5 +40,36 @@ pages: - package.json paths: - node_modules - only: - - master + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + environment: + name: production + url: "${DOCUSAURUS_URL}" + +pages:preview: + extends: pages + artifacts: + expire_in: 2 week + rules: + - if: $CI_MERGE_REQUEST_IID + variables: + DOCUSAURUS_URL: "https://${CI_PROJECT_ROOT_NAMESPACE}.${CI_PAGES_DOMAIN}" + DOCUSAURUS_BASEURL: "/-/${SUB_GROUP}/${CI_PROJECT_NAME}/-/jobs/${CI_JOB_ID}/artifacts/public/" + + environment: + name: preview/${CI_COMMIT_REF_NAME} + url: "https://${CI_PROJECT_ROOT_NAMESPACE}.${CI_PAGES_DOMAIN}/-/${SUB_GROUP}/${CI_PROJECT_NAME}/-/jobs/${CI_JOB_ID}/artifacts/public/index.html" + on_stop: pages:preview:stop + +pages:preview:stop: + stage: 🧽 clean + rules: + - if: $CI_MERGE_REQUEST_IID + when: manual + allow_failure: true + environment: + name: preview/${CI_COMMIT_REF_NAME} + action: stop + script: + - echo "🧽 clean MR environment [preview/${CI_COMMIT_REF_NAME}]" + diff --git a/docusaurus.config.js b/docusaurus.config.js index 3a46cb4..5710e87 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -5,8 +5,8 @@ const darkCodeTheme = require("prism-react-renderer/themes/dracula"); module.exports = { title: "Simplifiez-vous le code !", tagline: "Froggit aide à booster la coopération des Dev, Ops et autres Techs des entreprises autour du code source, sans gérer une infrastructure complexe !", - url: "https://new.froggit.fr", - baseUrl: "/", + url: process.env.DOCUSAURUS_URL, + baseUrl: process.env.DOCUSAURUS_BASEURL || "/", onBrokenLinks: "throw", onBrokenMarkdownLinks: "warn", favicon: "img/favicon/favicon.ico", -- GitLab