A simple (CLI) tool to deploy stuff via SFTP
(Check out ftploy for FTP deployments.)
npm install --save-dev sftployvar sftploy = require('sftploy');
sftploy({
username: 'john',
password: 'abc123',
privateKey: './id_rsa'
host: 'example.com',
port: 22,
localRoot: './build',
remoteRoot: '/www/example.com/'
exclude: [
'.git'
]
}).then(function () {
console.log('Deployment successful.');
}).catch(function (error) {
console.error('Deployment failed.', error);
});npm install -g sftploy$ sftployThe following options may be stored within a sftploy.json file in the root of your project or passed as parameters or environment variables (prefixed using sftploy_). For example, your username and password may be provided in the following three ways.
{
"username": "john",
"password": "abc123"
}$ sftploy --username="john" --password="abc123"$ SFTPLOY_USERNAME="john" SFTPLOY_PASSWORD="abc123" sftployThe SFTP username.
The SFTP password. In case no password is provided, the CLI will prompt you for it.
The SSH private key.
The SFTP host.
The SFTP port.
Default: 22
An array of files or a glob pattern to select files to upload.
Default: **/* (= glob pattern for all files and directories within the provided localRoot; see below)
The local directory whose contents SFTPloy will upload.
Default: process.cwd() (= the directory you’re running the CLI in)
The remote directory where SFTPloy will upload the contents to.
Default: /
Certain files (matching the respective glob patterns) that shall be ignored by SFTPloy. In most cases, you may want to exclude your .git directory or directories like node_modules.
If you’re using an array of files instead of an glob pattern within the files option, exclude will be ignored.
$ sftploy --exclude=*.jpg --exclude=*.png --exclude=node_modules/**/*{
"exclude": [
"*.jpg",
"*.png"
]
}- 0.0.3
- Include dot files during deployments
- 0.0.2
- Add shebang
- Update dependencies
- 0.0.1
- Initial version
Copyright (c) 2016 Thomas Rasshofer
Licensed under the MIT license.
See LICENSE for more info.