New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sftp-deployer

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sftp-deployer

A command-line tool for lightning-fast SFTP deployments

  • 0.4.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-93.33%
Maintainers
1
Weekly downloads
 
Created
Source

sftp-deployer

Build status

Version

A command-line tool for lightning-fast SFTP deployments.

  • Transfers a directory as a single compressed file
  • Minimizes downtime of target directory with blue/green deployment

SFTP deployer demo

Install

You need Node.JS to use sftp-deployer.

npm install -g sftp-deployer

Usage

The following command uploads the contents of the ./build directory to a remote SSH host, to /var/www/build:

sftp-deployer --host example.com \
  --user bob \
  --key private_key.pem \
  --local ./build \
  --target /var/www/build

Available options:

  -V, --version                output the version number
  -c, --config <config file>   configuration file to use (default: ".sftp.json")
  -h, --host <host>            hostname to connect to
  -p, --port <port>            SSH port to use (defaults to 22)
  -u, --user <username>        the ssh username
  -k, --key <key_or_file>      path to private key file, or private key itself
  --password <password>        the password to the private key
  -l, --local <path>           directory to upload
  -t, --target <target_dir>    target directory on remote host
  -s, --staging <staging_dir>  staging directory on remote host
                               (defaults to the target directory + .staging)
  -u, --upload <upload_dir>    upload directory on remote host
                               (default: "/var/tmp")
  --help                       display help for command

Using a configuration file

Each of the options listed above may also be specified in a configuration file called .sftp.json. You may override this filename by using the -c option (see above).

For example:

{
  "host": "example.com",
  "port": 1234, /* Optional, defaults to 22 */
  "user": "bob"
  "key": "private_key.pem"
  "password": "super_secure", /* Optional, only needed if the key is encrypted */
  "local": "./build",
  "target": "/var/www/build",
  "staging": "/var/www/incoming/uploads", /* Optional, defaults to target directory + .staging */
  "upload": "/my/upload/dir" /* Optional, defaults to /var/tmp */
}

You may then simply invoke sftp-deployer and it will take its input from the .sftp.json file in the current working directory.

Blue/green deployment

When a directory is uploaded but a target directory already exists, the following steps are taken to minimize downtime:

  • Deploy new directory to a staging location
  • Swap staging location and target location

This makes sure that the target directory is only down for a couple of milliseconds.

Keywords

FAQs

Package last updated on 27 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc