1.0.2 • Published 6 years ago
@wok-cli/plugin-deploy-rsync v1.0.2
Rsync Deploy Adapter Plugin
You can use this plugin with the deploy task of @wok-cli/tasks to add the ability to sync your local and remote folders via rsync.
This package implements rsyncwrapper and requires rsync to be installed on your machine.
| Hook types | Production only | Purpose |
|---|---|---|
| promise | no | build deploy |
Installation
npm i @wok-cli/plugin-deploy-rsync --save-devUsage
First of all update or add a remote target to the wok.config.js file and set the deploy strategy to 'rsync'.
// wok.config.js
module.exports = {
// .... other configs
targets: {
remoteserver: {
host: 'myserver.com',
username: 'rsyncuser',
password: 'password',
path: '/var/www/mysite/public',
deployStrategy: 'rsync',
},
},
};Notes:
targets.remoteserver.pathwill be used as the remote base directory for upload.@wok-cli/plugin-deploy-rsyncwill ignore any target with adeployStrategyother than'rsync'.
Then configure the plugin as a strategy for @wok/tasks's deploy task:
const $ = require('@wok-cli/core');
const { deploy } = require('@wok-cli/tasks');
const rsync = require('@wok-cli/plugin-deploy-rsync');
const deployTask = $.task(deploy, {
src: 'dist/', // folder where the compiled files is stored
});
deployTask.tap('strategy', 'rsync', rsync);
export.deploy = deployTaskFinally to sync your files run:
gulp deploy --target=remoteserverDefault Deploy Strategy
You can define rsync as the default deploy strategy by adding a deployStrategy key to the root of your wok config object:
// wok.config.js
module.exports = {
// .... other configs
+ deployStrategy: 'rsync',
targets: {
remoteserver: {
host: 'myserver.com',
username: 'rsyncuser',
password: 'password',
path: '/var/www/mysite/public',
- deployStrategy: 'rsync',
},
},
};