kind: pipeline type: docker name: deploy steps: - name: deploy image: ubuntu environment: HOST: from_secret: host USER: from_secret: user SSH_KEY: from_secret: ssh_key SRC: content when: branch: - main commands: # install stuff - apt-get update -qq > /dev/null - apt-get install ssh rsync -qq > /dev/null # configure ssh identity by importing ssh key from secrets and adding it to # ssh-agent. also disable strict host key checking as this is the first time # the ephemeral runner is connecting to the remote host - eval $(ssh-agent -s) - mkdir -p ~/.ssh - echo "$SSH_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - ssh-add - echo "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config # run operations on the remote host - ssh "$${USER}@$${HOST}" "[[ ! -d ~/gemini/content ]] || rm -r ~/gemini/content" - rsync -rP content "$${USER}@$${HOST}:gemini"