grunt-ftp-diff-deployer v0.2.0
grunt-ftp-diff-deployer
Incrementally push differences to FTP server.
Getting Started
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-ftp-diff-deployer --save-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-ftp-diff-deployer');The "ftp-diff-deployer" task
Overview
In your project's Gruntfile, add a section named ftp-diff-deployer to the data object passed into grunt.initConfig().
grunt.initConfig({
'ftp-diff-deployer': {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
});Options
All available options and default values.
{
host: 'localhost',
port: 21,
auth: {
username: '',
password: ''
},
diff: 'simple',
memory: './.grunt/grunt-ftp-diff-deployer/memory.{taskTarget}.json',
exclude: [],
reporter: 'simple', //{ simple | null }
src: null, //(Required)
dest: null, //(Required)
retry: 3
}host
Type: String
Default value: localhost
FTP host to which the files will be uploaded.
port
Type: Number
Default value: 21
Port of the host to connect to.
auth
Type: Object
Default value: { username: '', password: '' }
Object holding the credentials for the server.
If username and password are both null, anonymous authentication will be used.
src (required)
Type: String
Path to the source directory, containing the files that will be uploaded to the server.
dest (required)
Type: String
Path to the destination directory (on the server) where all the files will be uploaded.
exclude
Type: String[]
Default value: []
Array of patterns that will be used to exclude some files from the diff.
diff
Type: String
Default value: simple
Possible values: simple
Diff method to use to compute the differences to upload to the server. For more informations, go to ftp-diff-deployer.
Simple diff method provides another option:
memory: Path to the file used to keep track of the uploaded files.
reporter
Type: String
Default value: simple
Possible values: simple, null
Type of reporter to use. For more informations, go to ftp-diff-deployer.
retry
Type: Number
Default value: 3
Number of attempts to try before declaring failure and throwing an error.
Usage Examples
Basic example
In this example, we upload the directory www to the server ftp.example.com, providing username and password for authentication.
grunt.initConfig({
'ftp-diff-deployer': {
options: {},
www: {
options: {
host: 'ftp.example.com',
auth: {
username: 'foo',
password: 'bar'
},
src: 'www',
dest: '/'
}
}
}
});Complete example
In this example, we upload the directory www to the server ftp.example.com, providing username and password for authentication. All that annoying Thumbs.db files are excluded from the diff, and no output is shown.
grunt.initConfig({
'ftp-diff-deployer': {
options: {},
www: {
options: {
host: 'ftp.example.com',
auth: {
username: 'foo',
password: 'bar'
},
src: 'www',
dest: '/',
exclude: [ '[Tt]humbs.db' ],
reporter: 'null'
}
}
}
});Anonymous authentication
In this example, we upload the directory www to the server ftp.example.com, using anonymous authentication
grunt.initConfig({
'ftp-diff-deployer': {
options: {},
www: {
options: {
host: 'ftp.example.com',
src: 'www',
dest: '/'
}
}
}
});