mirror of
https://github.com/Burnett01/rsync-deployments.git
synced 2025-12-19 11:12:18 +01:00
Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
81be6cf6d7 | ||
|
|
178d2ea600 | ||
|
|
241aa321a8 | ||
|
|
80e4fa792e |
2 changed files with 72 additions and 64 deletions
106
README.md
106
README.md
|
|
@ -15,8 +15,45 @@ The base-image of this action is very small and based on **Alpine 3.23.0** (no c
|
||||||
Alpine version: [3.23.0](https://www.alpinelinux.org/posts/Alpine-3.23.0-released.html)
|
Alpine version: [3.23.0](https://www.alpinelinux.org/posts/Alpine-3.23.0-released.html)
|
||||||
Rsync version: [3.4.1-r1](https://download.samba.org/pub/rsync/NEWS#3.4.1)
|
Rsync version: [3.4.1-r1](https://download.samba.org/pub/rsync/NEWS#3.4.1)
|
||||||
|
|
||||||
|
## Current Version: v8 (8.0.2)
|
||||||
|
|
||||||
|
### Release channels:
|
||||||
|
|
||||||
|
| Version | Purpose | Immutable |
|
||||||
|
| ------- | ------------------ | ------------------ |
|
||||||
|
| ``v8`` (recommended) | latest MAJOR (pointer to 8.MINOR.PATCH) | no |
|
||||||
|
| 8.0.2 | latest MINOR+PATCH | yes |
|
||||||
|
| 7.1.0 | previous release ([deprecation notice](https://github.com/Burnett01/rsync-deployments/discussions/96)) | yes |
|
||||||
|
|
||||||
|
Check [SECURITY.md](SECURITY.md) for support cycles.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 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"
|
||||||
|
|
@ -53,20 +90,10 @@ This action needs secret variables for the ssh private key of your key pair. The
|
||||||
|
|
||||||
For simplicity, we are using `REMOTE_*` as the secret variables throughout the examples.
|
For simplicity, we are using `REMOTE_*` as the secret variables throughout the examples.
|
||||||
|
|
||||||
## Current Version: v8 (8.0.2)
|
|
||||||
|
|
||||||
### Release channels:
|
|
||||||
|
|
||||||
| Version | Purpose | Immutable |
|
|
||||||
| ------- | ------------------ | ------------------ |
|
|
||||||
| ``v8`` | latest release (pointer to 8.x.x) | no, points to latest MINOR,PATCH |
|
|
||||||
| 8.0.2 | latest major release | yes |
|
|
||||||
| 7.1.0 | previous release | yes |
|
|
||||||
|
|
||||||
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)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
30
SECURITY.md
30
SECURITY.md
|
|
@ -6,21 +6,21 @@ The Docker image and code quality are regularly checked for vulnerabilities and
|
||||||
|
|
||||||
The following versions are currently being supported with security updates:
|
The following versions are currently being supported with security updates:
|
||||||
|
|
||||||
| Version | Supported | Rsync version | Alpine version |
|
| Version | Supported | Rsync version | Alpine version | Support Until |
|
||||||
| ------- | ------------------ | ------------------ | ------------------ |
|
| ------- | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||||
| 8.0.2 | :white_check_mark: | >= 3.4.1-r1 | 3.23.0 |
|
| (``v8``) 8.0.2 | :white_check_mark: | >= 3.4.1-r1 | 3.23.0 | LTS (2026-*) |
|
||||||
| 8.0.1 | :white_check_mark: | >= 3.4.1-r1 | 3.23.0 |
|
| 8.0.1 | :white_check_mark: | >= 3.4.1-r1 | 3.23.0 | Apr, 1st 2026 |
|
||||||
| 8.0.0 | :x: EOL (due to regression #90) | >= 3.4.1-r1 | 3.23.0 |
|
| 8.0.0 | :x: EOL (due to regression #90) | >= 3.4.1-r1 | 3.23.0 | † Dec, 6th 2025 |
|
||||||
| 7.1.0 | :white_check_mark: | >= 3.4.1-r0 | 3.22.1 |
|
| 7.1.0 | :warning: DEPRECATED | >= 3.4.1-r0 | 3.22.1 | June, 1st 2026 ([deprecation notice](https://github.com/Burnett01/rsync-deployments/discussions/96)) |
|
||||||
| 7.0.2 | :warning: DEPRECATED | >= 3.4.0-r0 | 3.22.1 |
|
| 7.0.2 | :warning: DEPRECATED | >= 3.4.0-r0 | 3.22.1 | June, 1st 2026 ([deprecation notice](https://github.com/Burnett01/rsync-deployments/discussions/96)) |
|
||||||
| 7.0.1 | :x: EOL | < 3.4.0 | 3.22.1 |
|
| 7.0.1 | :x: EOL | < 3.4.0 | 3.22.1 | † Dec, 6th 2025 |
|
||||||
| 7.0.0 | :x: EOL | < 3.4.0| 3.19.1 |
|
| 7.0.0 | :x: EOL | < 3.4.0| 3.19.1 | † Dec, 6th 2025 |
|
||||||
| 6.x | :x: EOL |< 3.4.0| 3.17.2 |
|
| 6.x | :x: EOL |< 3.4.0| 3.17.2 | † 2024 |
|
||||||
| 5.x | :x: EOL |< 3.4.0| 3.11 - 3.14.1 - 3.15 - 3.16 - 3.17.2 |
|
| 5.x | :x: EOL |< 3.4.0| 3.11 - 3.14.1 - 3.15 - 3.16 - 3.17.2 | † 2024 |
|
||||||
| 4.x | :x: EOL |< 3.4.0| 3.11 |
|
| 4.x | :x: EOL |< 3.4.0| 3.11 | † |
|
||||||
| 3.0 | :x: EOL |< 3.4.0| N/A |
|
| 3.0 | :x: EOL |< 3.4.0| N/A | † |
|
||||||
| 2.0 | :x: EOL |< 3.4.0| Ubuntu |
|
| 2.0 | :x: EOL |< 3.4.0| Ubuntu | † |
|
||||||
| 1.0 | :x: EOL |< 3.4.0| Ubuntu |
|
| 1.0 | :x: EOL |< 3.4.0| Ubuntu | † |
|
||||||
|
|
||||||
### Terminology
|
### Terminology
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue