image: python:3.8-buster before_script: - apt-get update -y - apt-get install -y rsync - pip install -r requirements.txt ## Install ssh-agent if not already installed, it is required by Docker. - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )' ## Run ssh-agent (inside the build environment) - eval $(ssh-agent -s) ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store ## We're using tr to fix line endings which makes ed25519 keys work ## without extra base64 encoding. ## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556 - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - ## Create the SSH directory and give it the right permissions - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts test: stage: test script: - mkdocs build --strict --verbose --site-dir test except: - master pages: stage: deploy script: - mkdocs build --strict --verbose - rsync -e 'ssh -v -p 2222' -aglpPrtvz --delete site/ "drive@herbert.ugent.be:/home/drive/public/" only: - master - mkdocs