diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1e2606c953206b613eb5091f597b927c621cbff1..3920afd4c03ec2edf9cbc7b909b4a464f3710dba 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 3a46cb457e1465857109f49d9e577d92fae2599a..5710e87abc292c4ecc101244189d1901586d6d98 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",