chore: update readme

- advise users to always use secrets
- simplified examples
- other adjustments
This commit is contained in:
Steven 2025-12-07 13:51:46 +01:00 committed by GitHub
parent 0c902521b8
commit 80e4fa792e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -17,6 +17,31 @@ Rsync version: [3.4.1-r1](https://download.samba.org/pub/rsync/NEWS#3.4.1)
--- ---
## How it works
```yml
name: DEPLOY
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: rsync deployments
uses: burnett01/rsync-deployments@v8
with:
switches: -avzr --delete
path: src/
remote_path: ${{ secrets.REMOTE_PATH }} # ex: /var/www/html/
remote_host: ${{ secrets.REMOTE_HOST }} # ex: example.com
remote_port: ${{ secrets.REMOTE_PORT }} # ex: 22
remote_user: ${{ secrets.REMOTE_USER }} # ex: ubuntu
remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }}
```
## Inputs ## Inputs
- `debug`* - Whether to enable debug output. ("true" / "false") - Default: "false" - `debug`* - Whether to enable debug output. ("true" / "false") - Default: "false"
@ -59,14 +84,16 @@ For simplicity, we are using `REMOTE_*` as the secret variables throughout the e
| Version | Purpose | Immutable | | Version | Purpose | Immutable |
| ------- | ------------------ | ------------------ | | ------- | ------------------ | ------------------ |
| ``v8`` | latest release (pointer to 8.x.x) | no, points to latest MINOR,PATCH | | ``v8`` (recommended) | latest MAJOR (pointer to 8.MINOR.PATCH) | no |
| 8.0.2 | latest major release | yes | | 8.0.2 | latest MINOR+PATCH | yes |
| 7.1.0 | previous release | yes | | 7.1.0 | previous release | yes |
Check [SECURITY.md](SECURITY.md) for support cycles. Check [SECURITY.md](SECURITY.md) for support cycles.
## Example usage ## Example usage
For better **security** always use secrets for remote_host, remote_port, remote_user and remote_path inputs.
Simple: Simple:
```yml ```yml
@ -86,13 +113,14 @@ jobs:
with: with:
switches: -avzr --delete switches: -avzr --delete
path: src/ path: src/
remote_path: /var/www/html/ remote_path: ${{ secrets.REMOTE_PATH }} # ex: /var/www/html/
remote_host: example.com remote_host: ${{ secrets.REMOTE_HOST }} # ex: example.com
remote_user: debian remote_port: ${{ secrets.REMOTE_PORT }} # ex: 22
remote_user: ${{ secrets.REMOTE_USER }} # ex: ubuntu
remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }} remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }}
``` ```
Advanced: Advanced (with filters etc):
```yml ```yml
jobs: jobs:
@ -105,30 +133,10 @@ jobs:
with: with:
switches: -avzr --delete --exclude="" --include="" --filter="" switches: -avzr --delete --exclude="" --include="" --filter=""
path: src/ path: src/
remote_path: /var/www/html/ remote_path: ${{ secrets.REMOTE_PATH }} # ex: /var/www/html/
remote_host: example.com remote_host: ${{ secrets.REMOTE_HOST }} # ex: example.com
remote_port: 5555 remote_port: ${{ secrets.REMOTE_PORT }} # ex: 22
remote_user: debian remote_user: ${{ secrets.REMOTE_USER }} # ex: ubuntu
remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }}
```
For better **security**, I suggest you create additional secrets for remote_host, remote_port, remote_user and remote_path inputs.
```yml
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: rsync deployments
uses: burnett01/rsync-deployments@v8
with:
switches: -avzr --delete
path: src/
remote_path: ${{ secrets.REMOTE_PATH }}
remote_host: ${{ secrets.REMOTE_HOST }}
remote_port: ${{ secrets.REMOTE_PORT }}
remote_user: ${{ secrets.REMOTE_USER }}
remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }} remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }}
``` ```
@ -145,10 +153,10 @@ jobs:
with: with:
switches: -avzr --delete switches: -avzr --delete
path: src/ path: src/
remote_path: ${{ secrets.REMOTE_PATH }} remote_path: ${{ secrets.REMOTE_PATH }} # ex: /var/www/html/
remote_host: ${{ secrets.REMOTE_HOST }} remote_host: ${{ secrets.REMOTE_HOST }} # ex: example.com
remote_port: ${{ secrets.REMOTE_PORT }} remote_port: ${{ secrets.REMOTE_PORT }} # ex: 22
remote_user: ${{ secrets.REMOTE_USER }} remote_user: ${{ secrets.REMOTE_USER }} # ex: ubuntu
remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }} remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }}
remote_key_pass: ${{ secrets.REMOTE_PRIVATE_KEY_PASS }} remote_key_pass: ${{ secrets.REMOTE_PRIVATE_KEY_PASS }}
``` ```
@ -172,10 +180,10 @@ jobs:
switches: -avzr --delete switches: -avzr --delete
legacy_allow_rsa_hostkeys: "true" legacy_allow_rsa_hostkeys: "true"
path: src/ path: src/
remote_path: ${{ secrets.REMOTE_PATH }} remote_path: ${{ secrets.REMOTE_PATH }} # ex: /var/www/html/
remote_host: ${{ secrets.REMOTE_HOST }} remote_host: ${{ secrets.REMOTE_HOST }} # ex: example.com
remote_port: ${{ secrets.REMOTE_PORT }} remote_port: ${{ secrets.REMOTE_PORT }} # ex: 22
remote_user: ${{ secrets.REMOTE_USER }} remote_user: ${{ secrets.REMOTE_USER }} # ex: ubuntu
remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }} remote_key: ${{ secrets.REMOTE_PRIVATE_KEY }}
``` ```
@ -364,7 +372,7 @@ Please note that version 1.0 has reached end of life state.
## Acknowledgements ## Acknowledgements
+ This project is a fork of [Contention/rsync-deployments](https://github.com/Contention/rsync-deployments) + This project is a fork of [Contention/rsync-deployments](https://github.com/Contention/rsync-deployments)
+ Base image [JoshPiper/rsync-docker](https://github.com/JoshPiper/rsync-docker) + docker-rsync [JoshPiper/rsync-docker](https://github.com/JoshPiper/rsync-docker)
--- ---