Advertisement
Guest User

gulp ftp

a guest
Oct 4th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2.  
  3. var gulp = require('gulp');  
  4. var gutil = require( 'gulp-util' );  
  5. var ftp = require( 'vinyl-ftp' );
  6.  
  7. var user = 'username';  
  8. var password = 'password';  
  9. var host = '192.168.1.37';  
  10. var port = 21;  
  11. var localFilesGlob = ['./**/*'];  
  12. var remoteFolder = '/public_html'
  13.  
  14. function getFtpConnection() {  
  15.         return ftp.create({
  16.                 host: host,
  17.                 port: port,
  18.                 user: user,
  19.                 password: password,
  20.                 parallel: 5,
  21.                 log: gutil.log
  22.         });
  23. }
  24.  
  25. /**
  26.  * Копирует новые файлы на сервер
  27.  */
  28. gulp.task('ftp-deploy', function() {
  29.  
  30.         var conn = getFtpConnection();
  31.  
  32.         return gulp.src(localFilesGlob, { base: '.', buffer: false })
  33.                 .pipe( conn.newer( remoteFolder ) )
  34.                 .pipe( conn.dest( remoteFolder ) )
  35.         ;
  36. });
  37.  
  38. /**
  39.  * Ищет обновленные файлы
  40.  */
  41. gulp.task('ftp-deploy-watch', function() {
  42.  
  43.         var conn = getFtpConnection();
  44.  
  45.         gulp.watch(localFilesGlob)
  46.         .on('change', function(event) {
  47.             console.log('Изменения обнаружены, заливаем... "' + event.path + '", ' + event.type);
  48.  
  49.             return gulp.src( [event.path], { base: '.', buffer: false } )
  50.                 .pipe( conn.newer( remoteFolder ) ) // загрузка только обновленных файлов
  51.                 .pipe( conn.dest( remoteFolder ) )
  52.             ;
  53.         });
  54. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement