Go to file
Steven Agyekum 1eb5088cc2
Mention new inputs, added more examples, removed disclaimer
2019-12-04 18:28:33 +01:00
Dockerfile remove docker labeling 2019-12-04 18:26:19 +01:00
LICENSE Update LICENSE 2019-12-04 16:09:28 +01:00
README.md Mention new inputs, added more examples, removed disclaimer 2019-12-04 18:28:33 +01:00
action.yml Update action.yml 2019-12-04 16:16:03 +01:00
entrypoint.sh remove --includes, --excludes and --filters switches. Use --switches instead to include/exclude files and folders interchangeably 2019-11-22 00:28:06 +01:00

README.md

rsync deployments

Forked from Contention/rsync-deployments

This GitHub Action deploys files in GITHUB_WORKSPACE to a folder on a server via rsync over ssh.

Use this action in a build/test workflow which leaves deployable code in GITHUB_WORKSPACE.

Inputs

  • swtiches* - The first is for any initial/required rsync flags, eg: -avzr --delete

  • rsh - Remote shell commands, eg for using a different SSH port: "-p ${{ secrets.DEPLOY_PORT }}"

  • path* - The source path, if none; use ""

  • remote_path* - The deployment target, and should be in the format: [USER]@[HOST]:[PATH]

  • remote_host* - The remote host

  • remote_user* - The remote user

  • remote_key* - The remote ssh key

  • = Required

Required secret

This action needs a DEPLOY_KEY secret variable. This should be the private key part of a ssh key pair. The public key part should be added to the authorized_keys file on the server that receives the deployment. This should be set in the Github secrets section and then referenced as the remote_key input.

Example usage

Simple:

name: DEPLOY
on:
  push:
    branches:
    - master

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - name: rsync deployments
      uses: burnett01/rsync-deployments@1.0
      with:
        switches: -avzr --delete
        path: src/
        remote_path: /var/www/html/
        remote_host: example.com
        remote_user: debian
        remote_key: ${{ secrets.DEPLOY_KEY }}

Advanced:

name: DEPLOY
on:
  push:
    branches:
    - master

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
    - name: rsync deployments
      uses: burnett01/rsync-deployments@1.0
      with:
        switches: -avzr --delete --exclude="" --include="" --filter=""
        rsh: "-p ${{ secrets.DEPLOY_PORT }}"
        path: src/
        remote_path: /var/www/html/
        remote_host: example.com
        remote_user: debian
        remote_key: ${{ secrets.DEPLOY_KEY }}