Lets-ftp manages FTP connections and commands in Lets. If you want to deploy over FTP, check out lets-copy.
npm install lets-ftp
Letsfile.js
var ftp = require('lets-ftp');
module.exports = function(lets) {
var stage = new lets.Stage({
host: '1.2.3.4',
username: 'me'
});
// Best practice is to load passwords from a file that isn't checked in
stage.config(require('./config/stage1'));
// Use lets-ftp
stage.plugin(ftp());
// Do something after connection, maybe upload a file
stage.after('connect', function (options, done) {
this.getConnection(function (c) {
c.put('local-filename', 'remote-filename', done);
});
});
// Add stage to lets and name it
lets.addStage('stage1', stage);
};
Run it using e.g. $ lets deploy stage1
(a way to add custom "flows" will be
available soon).
Required:
options.host
– Address to serveroptions.username
– User to log in withoptions.password
– The user's password
See node-ftp for the following options mainly used by that module:
options.port
options.secure
options.secureOptions
options.connTimeout
options.pasvTimeout
options.keepalive
That's also where you can find docs on which methods are available on the connection object.
See guidelines for lets.