All Projects → garygrossgarten → github-action-scp

garygrossgarten / github-action-scp

Licence: MIT license
⬆️ Copy a folder to a remote server using SSH

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to github-action-scp

branch-names
Github action to retrieve branch or tag names with support for all events.
Stars: ✭ 99 (-19.51%)
Mutual labels:  actions, github-actions
pin-github-action
Pin your GitHub actions to a specific hash
Stars: ✭ 38 (-69.11%)
Mutual labels:  actions, github-actions
clojure-dependency-update-action
A simple GitHub Actions job to create Pull Requests for outdated dependencies in clojure projects
Stars: ✭ 37 (-69.92%)
Mutual labels:  actions, github-actions
setup-jdk
(DEPRECATED) Set up your GitHub Actions workflow with a specific version of AdoptOpenJDK
Stars: ✭ 32 (-73.98%)
Mutual labels:  actions, github-actions
generate-og-image
Generate open graph images with Github Action from Markdown files
Stars: ✭ 32 (-73.98%)
Mutual labels:  actions, github-actions
Real Time Social Media Mining
DevOps pipeline for Real Time Social/Web Mining
Stars: ✭ 22 (-82.11%)
Mutual labels:  actions, github-actions
add-an-issue-reference-action
A GitHub Action for adding a related issue reference to a pull request.
Stars: ✭ 19 (-84.55%)
Mutual labels:  actions, github-actions
scan-action
Anchore container analysis and scan provided as a GitHub Action
Stars: ✭ 140 (+13.82%)
Mutual labels:  actions, github-actions
html5validator-action
GitHub Action that checks HTML5 syntax.
Stars: ✭ 27 (-78.05%)
Mutual labels:  actions, github-actions
danger-action
Execute danger action for GitHub Actions.
Stars: ✭ 24 (-80.49%)
Mutual labels:  actions, github-actions
action-netlify-deploy
🙌 Netlify deployments via GitHub actions
Stars: ✭ 32 (-73.98%)
Mutual labels:  actions, github-actions
nextjs-github-pages
🚀 Deploy a Next.js app to Github Pages via Github Actions.
Stars: ✭ 89 (-27.64%)
Mutual labels:  actions, github-actions
dart-package-publisher
Action to Publish Dart / Flutter Package To https://pub.dev When you need to publish a package, just bump the version in pubspec.yaml
Stars: ✭ 45 (-63.41%)
Mutual labels:  actions, github-actions
mc-publish
GitHub Action that helps you publish your Minecraft mods
Stars: ✭ 76 (-38.21%)
Mutual labels:  actions, github-actions
deploy-cloudrun
This action deploys your container image to Cloud Run.
Stars: ✭ 238 (+93.5%)
Mutual labels:  actions, github-actions
k8s-create-secret
GitHub Action to create Kubernetes cluster secrets
Stars: ✭ 24 (-80.49%)
Mutual labels:  actions, github-actions
gh-action-get-changed-files
GitHub Action that saves changed files as JSON for use by other actions.
Stars: ✭ 82 (-33.33%)
Mutual labels:  actions, github-actions
csharp-docs-generator
An action that generates html documentation for C# programs to use for GitHub pages.
Stars: ✭ 21 (-82.93%)
Mutual labels:  actions, github-actions
verify-changed-files
Github action to verify file changes that occur during the workflow execution.
Stars: ✭ 62 (-49.59%)
Mutual labels:  actions, github-actions
labeler
GitHub Action to assign labels to PRs based on configurable conditions
Stars: ✭ 47 (-61.79%)
Mutual labels:  actions, github-actions

GitHub Action SCP

Simple GitHub Action to copy a folder or single file to a remote server using SSH. This is working with the latest GitHub Actions.

Example Usage

Copy a folder recursively to a remote server

- name: Copy folder content recursively to remote
        uses: garygrossgarten/github-action-scp@release
        with:
          local: test
          remote: scp/directory
          host: ${{ secrets.HOST }}
          username: ${{ secrets.SSH_USER }}
          password: ${{ secrets.PASSWORD }}

Copy a single file to a remote server

- name: Copy single file to remote
        uses: garygrossgarten/github-action-scp@release
        with:
          local: test/oof.txt
          remote: scp/single/oof.txt
          host: ${{ secrets.HOST }}
          username: ${{ secrets.SSH_USER }}
          password: ${{ secrets.PASSWORD }}

🔐 Set your secrets here: https://github.com/USERNAME/REPO/settings/secrets.

Check out the workflow example for a minimalistic yaml workflow in GitHub Actions.

Result

result of example ssh workflow

Options

  • local - string - Path to local folder you want to copy. required

  • remote - string - Path to folder to copy the contents to. required

  • concurrency - number - Number of concurrent file transfers. Default: 1

  • recursive - boolean - Copy directory contents recursively. Default: true

  • verbose - boolean - Output every single file transfer status. Default: true

  • host - string - Hostname or IP address of the server. Default: 'localhost'

  • port - integer - Port number of the server. Default: 22

  • username - string - Username for authentication. Default: (none)

  • password - string - Password for password-based user authentication. Default: (none)

  • dotfiles - boolean - Include files with a leading . e.g. .htaccess Default: false

  • privateKey - mixed - Buffer or string that contains a private key for either key-based or hostbased user authentication (OpenSSH format). Default: (none)

  • passphrase - string - For an encrypted private key, this is the passphrase used to decrypt it. Default: (none)

  • tryKeyboard - boolean - Try keyboard-interactive user authentication if primary user authentication method fails. Default: false

  • atomicPut - boolean - Upload files to temporary file first, then rename once upload completed. Default: false

  • rmRemote - boolean - Clean directory before uploading. Default: false

Development


This thing is build using Typescript and ssh2 (via node-ssh). 🚀

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].