「gulp-sftp-up4」を使って、gulpからSFTPアップをする
目的
gulpで、ファイルのSFTPアップがしたい。
Gitで、コミット履歴からパスコピーしたものを元に、指定したファイルだけアップをしたい・
やったこと
gulp-sftp
は、知っていたので使ってみたが、gulp4で使えなかった。
gulp-sftp-up4があった。
npm install gulp-sftp-up4 --save-dev
gulpfile.js
var fs = require('fs');
//設定ファイル
var ftp = JSON.parse(fs.readFileSync('config/ftp.json', 'utf8'));
var gulp = require('gulp');
var sftp = require('gulp-sftp-up4');
// パス指定アップ
// 「upload」の後に「--」つけて「,」で区切る(スペースは入れない)
// npx gulp upload --aa/bb/ccc.html,aaaa.html
gulp.task('upload', function (done) {
var npm_script_arg = process.argv.slice(3);
var pathList = npm_script_arg[0].replace('--', '').split(',').map(function(v){
let arrPath = v.split('/');
if(arrPath[0] === '') {
arrPath.shift();
}
if(arrPath[0] === 'src') {
arrPath.shift();
}
// 階層を保持してアップするため「**」つける
arrPath.unshift('**');
arrPath.unshift('src');
// src/**/〜〜
return arrPath.join('/');
});
gulp.src(pathList)
.pipe(sftp(ftp));
return done();
});
// srcフォルダの中身をごっそりアップ
gulp.task('upload-all', function (done) {
gulp.src([
'src/**/*'
])
.pipe(sftp(ftp));
return done();
});
備考
FTP情報はconfig/ftp.json
で管理。
Author And Source
この問題について(「gulp-sftp-up4」を使って、gulpからSFTPアップをする), 我々は、より多くの情報をここで見つけました https://qiita.com/kszk/items/31970ea0b418b5dc7e14著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .