45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
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
|
|
artifacts:
|
|
paths:
|
|
- 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
|
|
|