68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
# action-rsync
|
|
|
|
- Alpine based image with installed rsync.
|
|
- Basic pre and post scripts support.
|
|
- Pure docker container, no github format things.
|
|
|
|
## Inputs, Outputs, ...
|
|
|
|
None and Pure 😊
|
|
|
|
## Usage
|
|
|
|
```yml
|
|
on: [push]
|
|
jobs:
|
|
rsync:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Must checkout first, otherwise would get empty folder, see https://github.com/actions/checkout
|
|
- uses: actions/checkout@v2
|
|
- name: Deploy to my ❤️
|
|
uses: up9cloud/action-rsync@v1
|
|
env:
|
|
# Required
|
|
HOST: example.com
|
|
KEY: ${{secrets.DEPLOY_SSH_KEY}} # ssh private key
|
|
TARGET: /target/dir/ # target folder or file
|
|
|
|
# Optional (with `default` values)
|
|
VERBOSE: false # set it true if you want some tips
|
|
USER: root # target server ssh user
|
|
PORT: 22 # target server ssh port
|
|
ARGS: -avz --delete --exclude=/.git/ --exclude=/.github/ # rsync arguments
|
|
SSH_ARGS: '-p 22 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=quiet' # ssh arguments, if you set this, the PORT would be ignored.
|
|
SOURCE: ./ # source folder or file
|
|
PRE_SCRIPT: "" # pre script runs on target server, target server must support `mktemp` command
|
|
POST_SCRIPT: "" # post script runs on target server, target server must support `mktemp` command
|
|
```
|
|
|
|
### Example
|
|
|
|
```yml
|
|
on: [push]
|
|
jobs:
|
|
rsync:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Deploy to my ❤️
|
|
uses: up9cloud/action-rsync@v1
|
|
env:
|
|
HOST: example.com
|
|
KEY: ${{secrets.DEPLOY_SSH_KEY}}
|
|
TARGET: /app/hello-service/
|
|
|
|
VERBOSE: true
|
|
USER: ubuntu
|
|
# PORT: 2222 # no need to set this, because of $SSH_ARGS
|
|
ARGS: -az --exclude=/.git/
|
|
SSH_ARGS: '-p 2222 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
|
|
SOURCE: ./public/
|
|
|
|
PRE_SCRIPT: "echo start at: \n date -u --rfc-3339=ns"
|
|
POST_SCRIPT: "echo done at: && date -u --rfc-3339=ns"
|
|
```
|
|
|
|
> See 1 more example: https://github.com/up9cloud/action-rsync/blob/master/.github/workflows/main.yml
|