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/identity - chmod 600 ~/.ssh/identity - ssh-add # skip key checking - 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 "$SRC"/* "$${USER}@$${HOST}:$${DEST}"