grunt-diff-deploy

Deploy a folder using FTP. It uploads differences only. It can handle server generated files mixed with the uploaded ones.

grunt-diff-deploy

Deploy a folder using FTP. It uploads differences only. It can handle server generated files mixed with the uploaded ones.

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-diff-deploy --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-diff-deploy');

In your project's Gruntfile, add a section named push to the data object passed into grunt.initConfig().

grunt.initConfig({
  push: {
    options: {
      // Task-specific options go here. 
    },
    your_target: {
      // Target-specific file lists and/or options go here. 
    },
  },
})

Type: String Default value: localhost

Host to connect to.

Type: String Default value: .

If you want to upload files to a subdirectory of the remote computer, specify the path here.

Type: Boolean Default value: false

The task issues a CHMOD command to the server for each file & folder. If the remote host does not have implemented / actived that feature it will ignore the error messages.

This option allows you to stop these tries if anyhow they're not needed.

The most common usage of this task: uploading to a host the contents of a folder called deploy, building the routes taking deploy as the base path.

grunt.initConfig({
  push: {
    options: {
      host: 'example.com',
    },
    files: [
      {
        src: ['**', '**/.*'],
        cwd: 'deploy',
        expand: true,
      },
    ],
  },
})

Same as before, but uploading all files to a subfolder of the host.

grunt.initConfig({
  push: {
    options: {
      host: 'example.com',
      remoteBase: 'mysubfolder1/mysubfolder2',
    },
    files: [
      {
        src: ['**', '**/.*'],
        cwd: 'deploy',
        expand: true,
      },
    ],
  },
})

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

  • 2013-12-06 v0.3.0 Add option to disable CHMOD commands. Ignore CHMOD errors. Fixes #1.
  • 2013-12-05 v0.2.6 Fix octal constant.
  • 2013-12-05 v0.2.5 Fix perms sending.
  • 2013-11-21 v0.2.4 Add a log line with the dest host.
  • 2013-11-21 v0.2.3 Fix recursion level in async calls.
  • 2013-11-21 v0.2.2 Fix output logs calcs.
  • 2013-11-21 v0.2.1 Fix package URLs.
  • 2013-11-21 v0.2 Remove base configuration (guess it from the dest path). Fix FS stat problems.
  • 2013-11-21 v0.1.1 Fix problem when opening too many files.
  • 2013-11-21 v0.1.0 Release initial push task.