diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 20f28f1d47a7888b6d5bd43ca4fed20b2f6aa8a1..07f7d3ce4703da6bb3cca8b3c59860b4135a9f54 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,31 +1,30 @@ +# The Docker image that will be used to build your app +image: python:3.9.18-slim-bullseye +# Functions that should be executed before the build script is run +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 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: - - | - 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 + - '| 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/ + # The folder that contains the files to be exposed at the Page URL + - public rules: - - if: '$CI_COMMIT_TAG' - - if: '$CI_COMMIT_REF_NAME == "develop"' - when: always - - when: never \ No newline at end of file + # This ensures that only pushes to the default branch will trigger + # a pages deploy + - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH