All Projects → Burnett01 → Rsync Deployments

Burnett01 / Rsync Deployments

Licence: mit
GitHub Action for deploying code via rsync over ssh

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Rsync Deployments

sre.surmon.me
💻 SRE service for Surmon.me blog.
Stars: ✭ 34 (-42.37%)
Mutual labels:  deployment, deploy
Cipi
An Open Source Control Panel for your Cloud! Deploy and manage LEMP apps in one click!
Stars: ✭ 376 (+537.29%)
Mutual labels:  deployment, deploy
liara-cli
The command line interface for Liara
Stars: ✭ 54 (-8.47%)
Mutual labels:  deployment, deploy
deployment-status
GitHub action for updating deployments with status events.
Stars: ✭ 24 (-59.32%)
Mutual labels:  deployment, action
Shipit
Universal automation and deployment tool ⛵️
Stars: ✭ 5,249 (+8796.61%)
Mutual labels:  deployment, deploy
helm
GitHub action for deploying Helm charts.
Stars: ✭ 107 (+81.36%)
Mutual labels:  deployment, action
Adapt
ReactJS for your infrastructure. Create and deploy full-stack apps to any infrastructure using the power of React.
Stars: ✭ 317 (+437.29%)
Mutual labels:  deployment, deploy
useful-playbooks
🚚 Useful Ansible playbooks for easily deploy your website or webapp to absolutely fresh remote virtual server and automation many processes. Only 3 minutes from the playbook run to complete setup server and start it.
Stars: ✭ 52 (-11.86%)
Mutual labels:  deployment, deploy
Git Deploy
Php Script for Auto-Pull in server (Using WebHook from GitLab, GitHub and Bitbucket)
Stars: ✭ 495 (+738.98%)
Mutual labels:  deployment, deploy
Easy Deploy Bundle
The easiest way to deploy your Symfony applications
Stars: ✭ 446 (+655.93%)
Mutual labels:  deployment, deploy
ipfs-action
GitHub Action for upload to IPFS. Supports Pinata, Infura pinning service as well as direct upload.
Stars: ✭ 115 (+94.92%)
Mutual labels:  deploy, action
Deployer
Deployer is a free and open source deployment tool.
Stars: ✭ 854 (+1347.46%)
Mutual labels:  deployment, deploy
ploi-deploy-action
Deploy your application to Ploi with Github actions
Stars: ✭ 25 (-57.63%)
Mutual labels:  deployment, deploy
jekyll-deploy-action
🪂 A Github Action to deploy the Jekyll site conveniently for GitHub Pages.
Stars: ✭ 162 (+174.58%)
Mutual labels:  deployment, deploy
workflow-webhook
A Github workflow action to call a webhook with payload data from the event. Support for JSON or URL encoded endpoints.
Stars: ✭ 90 (+52.54%)
Mutual labels:  deployment, action
action
A GitHub Action that deploys live environments for your pull requests and branches
Stars: ✭ 63 (+6.78%)
Mutual labels:  deploy, action
docker-wordmove
Docker image to run Wordmove
Stars: ✭ 16 (-72.88%)
Mutual labels:  deployment, deploy
deployer-php-action
Deploy PHP projects using Deployer from Github Actions
Stars: ✭ 57 (-3.39%)
Mutual labels:  deployment, action
Butler
🎩 Command-line itch.io helper
Stars: ✭ 433 (+633.9%)
Mutual labels:  rsync, deployment
Flubucore
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
Stars: ✭ 695 (+1077.97%)
Mutual labels:  deployment, deploy

rsync deployments

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

Use this action in a CD workflow which leaves deployable code in GITHUB_WORKSPACE.

The underlaying base-image of the docker-image is very small (Alpine (no cache)) which results in fast deployments.


Inputs

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

  • rsh - Remote shell commands

  • path - The source path. Defaults to GITHUB_WORKSPACE

  • remote_path* - The deployment target path

  • remote_host* - The remote host

  • remote_port - The remote port. Defaults to 22

  • 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/[email protected]
    - name: rsync deployments
      uses: burnett01/[email protected]
      with:
        switches: -avzr --delete
        path: src/
        remote_path: /var/www/html/
        remote_host: example.com
        remote_user: debian
        remote_key: ${{ secrets.DEPLOY_KEY }}

Advanced:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/[email protected]
    - name: rsync deployments
      uses: burnett01/[email protected]
      with:
        switches: -avzr --delete --exclude="" --include="" --filter=""
        path: src/
        remote_path: /var/www/html/
        remote_host: example.com
        remote_port: 5555
        remote_user: debian
        remote_key: ${{ secrets.DEPLOY_KEY }}

For better security, I suggest you create additional secrets for remote_host, remote_port and remote_user inputs.

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/[email protected]
    - name: rsync deployments
      uses: burnett01/[email protected]
      with:
        switches: -avzr --delete
        path: src/
        remote_path: /var/www/html/
        remote_host: ${{ secrets.DEPLOY_HOST }}
        remote_port: ${{ secrets.DEPLOY_PORT }}
        remote_user: ${{ secrets.DEPLOY_USER }}
        remote_key: ${{ secrets.DEPLOY_KEY }}

Version 3.0

Looking for version 3.0?

Check here: https://github.com/Burnett01/rsync-deployments/tree/3.0

Version 3.0 uses the alpine:latest base-image directly.
Consider upgrading to 4.0 that uses a docker-image drinternet/rsync:1.0.1 that is
based on alpine:latestand heavily optimized for rsync.

Version 2.0

Looking for version 2.0?

Check here: https://github.com/Burnett01/rsync-deployments/tree/2.0

Version 2.0 uses a larger base-image (ubuntu:latest).
Consider upgrading to 3.0 for even faster deployments.

Version 1.0 (EOL)

Looking for version 1.0?

Check here: https://github.com/Burnett01/rsync-deployments/tree/1.0

Please note that version 1.0 has reached end of life state.


Acknowledgements


Media

This action was featured in multiple blogs across the globe:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].