diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fedf490d3fc7a302148d556ddf9a1c270ad35db0..20f28f1d47a7888b6d5bd43ca4fed20b2f6aa8a1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,11 +1,31 @@ pages: stage: deploy image: python:3.9.18-slim-bullseye + variables: + PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" + PAGES_BRANCH: gl-pages + HTTPS_REMOTE: https://gitlab-ci-token:${ACCESS_TOKEN}@${CI_SERVER_HOST}/rep/${CI_PROJECT_PATH}.git + before_script: + - pip install -q mkdocs-material mike + - apt-get update -qq && apt-get -qq install -y git > /dev/null + - git config --global --replace-all user.name $GITLAB_USER_NAME + - git config --global --replace-all user.email $GITLAB_USER_EMAIL + - git fetch origin $PAGES_BRANCH && git checkout $PAGES_BRANCH || git checkout -b $PAGES_BRANCH origin/$PAGES_BRANCH || echo "Pages branch not deployed yet." + - git checkout $CI_COMMIT_SHA script: - - pip install mkdocs-material - - mkdocs build --site-dir public + - | + if [ -n "$CI_COMMIT_TAG" ]; then + mike deploy --deploy-prefix public -r $HTTPS_REMOTE -p -b $PAGES_BRANCH -u $CI_COMMIT_TAG latest + mike set-default --deploy-prefix public -r $HTTPS_REMOTE -p -b $PAGES_BRANCH latest + elif [ "$CI_COMMIT_REF_NAME" == "develop" ]; then + mike deploy --deploy-prefix public -r $HTTPS_REMOTE -p -b $PAGES_BRANCH -u $CI_COMMIT_BRANCH + fi + - git checkout $PAGES_BRANCH -- public/ artifacts: paths: - - public + - public/ rules: - - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' + - if: '$CI_COMMIT_TAG' + - if: '$CI_COMMIT_REF_NAME == "develop"' + when: always + - when: never \ No newline at end of file