mkdocs:compile: stage: compile image: python:3.8 tags: - docker 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" script: - mkdir -p "$EXPORT_DIR/$CI_PROJECT_NAME" - cp -r site/* "$EXPORT_DIR/$CI_PROJECT_NAME" needs: - mkdocs:compile only: refs: - master changes: - docs/**/* - mkdocs.yml