diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3ae98b5fee37dacdb2dd15786dd7f4a5f5d05798..6cfc699cb6b92d97f125b3bfe2f78e774db0a149 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,46 @@ image: omalaspinas/archlinux-pandoc:latest +before_script: + ## + ## Install ssh-agent if not already installed, it is required by Docker. + ## (change apt-get to yum if you use an RPM-based image) + ## + - 'which ssh-agent || (pacman -S --noconfirm openssh)' + - 'which rsync || (pacman -S --noconfirm rsync)' + + + ## + ## 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 - > /dev/null + + ## + ## Create the SSH directory and give it the right permissions + ## + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + + ## + ## Add host id to known_hosts + ## + - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + + + build_only: script: - make + - make deploy + - rsync -avz mti malaspinas@129.194.185.180:/www/ build_artifacts: script: