Deploy files to remote servers via rsync + SSH by copying them. See the CHANGELOG.md for details.
An example configuration for a step:
- name: Upload files
uses: 49nord/action-files@v2
with:
src: output/
dest: root@example.com:/var/www/html/
ssh_key: ${{ secrets.SSH_KEY }}
known_hosts: |
example.com ssh-rsa AAAAB....
example.com ecdsa-sha2-nistp256 AAAAE....Note the importantance of keeping the trailing slashes on src and dest to prevent rsync from creating subdirectories. The known_hosts contents can be copied from a well-known hostfile or generated using ssh-keyscan in a pinch, it is important to ensure that the hostname matches the one in dest.
- https://github.com/Burnett01/rsync-deployments: Inspired this action. The main reason for creating this alternative was the fact that
rsync-deploymentsdoes not check host keys, which, for our use case, must be turned on by default.