kind: pipeline type: docker name: hello steps: - name: deploy image: ubuntu environment: HOST: from_secret: host USER: from_secret: user SSH_KEY: from_secret: ssh_key SRC: content DEST: gemini/content commands: # install stuff - apt-get update -qq > /dev/null - apt-get install ssh rsync -qq > /dev/null # configure ssh identity - which ssh-agent - eval $(ssh-agent -s) - mkdir -p ~/.ssh # import ssh key - echo "$SSH_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - ssh-add # skip key checking as this runner has never seen the host before - echo "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config # run operations on the remote host - ssh "$${USER}@$${HOST}" "[[ -d $${DEST} ]] && rm -r $${DEST}" - rsync -rP content/* "$${USER}@$${HOST}:$${DEST}"