Я повторяю приведенные выше утверждения о том, как отделить задачи разработки от развертывания. Вы можете настроить отдельное задание gulp, которое вы запускаете только после того, как убедитесь, что хотите загрузить свои файлы.
Если вы хотите выполнить развертывание с помощью задачи gulp, попробуйте vinyl-ftp . Из их документации:
var gulp = require( 'gulp' );
var gutil = require( 'gulp-util' );
var ftp = require( 'vinyl-ftp' );
gulp.task( 'deploy', function () {
var conn = ftp.create( {
host: 'mywebsite.tld',
user: 'me',
password: 'mypass',
parallel: 10,
log: gutil.log
} );
var globs = [
'src/**',
'css/**',
'js/**',
'fonts/**',
'index.html'
];
// using base = '.' will transfer everything to /public_html correctly
// turn off buffering in gulp.src for best performance
return gulp.src( globs, { base: '.', buffer: false } )
.pipe( conn.newer( '/public_html' ) ) // only upload newer files
.pipe( conn.dest( '/public_html' ) );
} );
И обязательно посмотрите , чтобы безопасно настроить учетные данные ftp в gulp , прежде чем что-либо делать. Это очень хорошая статья. И .gitignore любой файл учетных данных!