@M1Anderson
Ruby on Rails developer

Gulp deploy ftp без src директории?

Здравствуйте.
Есть необходимость заливать проект на фтп через gulp. Проблема в том, что он отправляет всю директорию src и на сервере приходится из директории переносить файлы в другую, что не очень.
Т.е. создается projects/test/src, а хотелось бы, чтобы файлы сразу отправлялись в projects/test, т.е. вообще без src.

Таск:
var gutil = require( 'gulp-util' );
var ftp = require( 'vinyl-ftp' );

gulp.task( 'deploy', function() {

    var conn = ftp.create( {
        host:     'hydrogen',
        user:     'hosting',
        password: 'test',
        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( '/projects/test' ) ) // only upload newer files
        .pipe( conn.dest( '/projects/test' ) );

} );
  • Вопрос задан
  • 2418 просмотров
Пригласить эксперта
Ответы на вопрос 2
sosnovskyas
@sosnovskyas
как насчёт в переменной которую ты используешь для того чтоб определить какие файлы ты отправляешь на сервер написать и исключение
например
!./src
ну или как у тебя в проекте, вобщем правильный путь который ты хочешь исключить и перед ним восклецательный знак(!)
Ответ написан
Комментировать
@mivo
Надо просто изменить Base

gulp.task('deploy', function () {
 
  var conn = ftp.create( {
    host:     'host.ru',
    user:     'user',
    password: 'password',
    parallel: 10,
    log:      gutil.log
  });

  const path = '/domains/host.ru/public_html';

  var globs = [
    'dist/**/*.*'
  ];

  conn.rmdir(path, function(e){
    if (e === undefined) {
      // using base = '.' will transfer everything to /public_html correctly 
      // turn off buffering in gulp.src for best performance 
      return gulp.src(globs, {base: 'dist', buffer: false})
        // .pipe(conn.newer(path)) // only upload newer files 
        .pipe(conn.dest(path));
    }
    return console.log(e);
  });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы