上書き保存即アップロード、というのはあまりやらないような気はするのですが、方法としてはできたのでメモ。
gulp-deploy-ftpではテスト環境(gulp4でテストサーバへのFTPアップロード)では上手く動かなかったので、ftp-deployを使いました。
package.json
"devDependencies": {
"ftp-deploy": "^2.1.3"
}
gulpfile.js
//ftp
var FtpDeploy = require('ftp-deploy');
var ftpDeploy = new FtpDeploy();
//略
gulp.task("ftp", done => {
var config = {
user: user
password: "password",
host: "testserver.example.com",
port: 21,
localRoot: "./dist/",
remoteRoot: '/test/site/to/path/web/',
include: ['*', '**/*'],
deleteRemote: false
};
ftpDeploy.deploy(config, function(err) {
if(err) console.log(err);
else console.log('finished');
});
done();
});
こんな感じで、gulp ftp
すると
>gulp ftp
[17:13:17] Using gulpfile localtest/site/to/path/gulpfile.js
[17:13:17] Starting 'ftp'...
[17:13:17] Finished 'ftp' after 3.23 ms
Connected to: testserver.example.com
Connected: Server message: ProFTPD x.x.x Server (ProFTPD) [testserver.example.com]
finished
と、無事アップロードできたことが確認できました。「FTPSとかSFTPじゃないの?」というのもありますが、ひとまずテストでできたということで。