Skip to content

⚙️ Github Action to deploy via rsync and sshpass in order to enable deployments on hosts, which don't support key based ssh

License

Notifications You must be signed in to change notification settings

mai-space/action-sshpass-rsync

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deploy over RSYNC via SSHPASS

Github Action to deploy via rsync and sshpass in order to enable deployments on hosts, which don't support key based ssh

Usage

- name: Deploy to Server
  uses: mai-space/action-sshpass-rsync@v1
  with:
    host: ${{ secrets.DEPLOY_HOST }}
    user: ${{ secrets.DEPLOY_USER }}
    port: ${{ secrets.DEPLOY_PORT }}
    pass: ${{ secrets.DEPLOY_PASS }}
    local: "path/of/your/local/mashine"
    extra: "--your extra params for rsync"
    remote: "path/where/to/deploy/to"
    runBeforeDeployment: |
      cd somewhere/
    runAfterDeployment: |
      cd ../somewhere/back/to

You can do something before and after your deployment on the remote. For this, you use the runBeforeDeployment and runAfterDeployment inputs.

Optional (and not firmly tested)

You can use your private key and just enjoy the deployment part of this action. But I must say, that I have not tested this. Feel free to contribute.

- name: Deploy to Server
  uses: mai-space/action-sshpass-rsync@v1
  with:
    host: ${{ secrets.DEPLOY_HOST }}
    user: ${{ secrets.DEPLOY_USER }}
    port: ${{ secrets.DEPLOY_PORT }}
    key: ${{ secrets.PRIVATE_KEY }}
    local: "path/of/your/local/mashine"
    extra: "--your extra params for rsync"
    remote: "path/where/to/deploy/to"
    runBeforeDeployment: |
      cd somewhere/
    runAfterDeployment: |
      cd ../somewhere/back/to

Disclaimer

Parts of this action are heavily inspired by matheusvanzan/sshpass-action and D3rHase/rsync-deploy-action.

I have looked up how to make my own action there and build upon their code. So please give them some love.