variables: PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" cache: paths: - .cache/pip - venv/ mkdocs:compile: stage: compile image: python:3.8 tags: - docker before_script: - pip install virtualenv - virtualenv venv - source venv/bin/activate script: - pip install -r requirements.txt -U - mkdocs build --strict only: changes: - docs/**/* - mkdocs.yml artifacts: expire_in: 3h paths: - site/ mkdocs:bundle: stage: deploy image: alpine tags: - docker script: - tar c -zvf documentation.tar.gz site needs: - mkdocs:compile only: changes: - docs/**/* - mkdocs.yml artifacts: expire_in: 3 days paths: - ./*.tar.gz mkdocs:deploy: stage: deploy tags: - production variables: EXPORT_DIR: "/var/www/html/pages" PROJECT_NAME: "dtt" script: - mkdir -p "$EXPORT_DIR/$PROJECT_NAME" - cp -r site/* "$EXPORT_DIR/$PROJECT_NAME" needs: - mkdocs:compile only: refs: - master changes: - docs/**/* - mkdocs.yml