Блог 08/11/2018

Vinyl-ftp – настройка deploy сайта на хостинг по протоколу FTP через Gulp

В этой публикации рассмотрим такой чудесный инструмент, как vinyl-ftp, поразмышляем о его возможностях и недостатках, сравним его преимущества перед Rsync (gulp-rsync) и FileZilla Client.

Vinyl-ftp – настройка deploy сайта на хостинг по протоколу FTP через Gulp

Требования:

  • Windows 10 и включенная подсистема Ubuntu (bash);
  • установленный Gulp и всё нужное для нормальной его работы в системе;
  • в хостинге-панели требуется создать FTP юзера.

Зависимости:

  • требуется включённый gulp-util в gulpfile.js

Внимание, vinyl-ftp может не работать в Windows ниже версии 10 из-за отсутствия bash.

Давайте приступим к самому важному?

Настройка vinyl-ftp в gulpfile.js

В файле gulpfile.js подключаем и настраиваем нужный таск (task).

1) Сначала подключим:

	var gulp = require('gulp'),
		gutil = require('gulp-util'),
	ftp = require('vinyl-ftp');

- где gutil = require('gulp-util') – это зависимость, которая будет выводить уведомления, как говорится, с ней пусть будет, а без неё и не надо.

- ftp = require('vinyl-ftp') это и есть наш чудесный vinyl-ftp

- gulp = require('gulp') – его величество Gulp!

2) Далее установим vinyl-ftp в наш проект локально:

	npm i vinyl-ftp --save-dev

3) Настраиваем сам таск (task)

	gulp.task('deploy', function() {
		var conn = ftp.create({
		host:      'mydomain. com',
		user:      'my-ftp-user-name',
		password:  'MyFtpUserPassword',
		parallel:  10,
		log: gutil.log
	});

	var globs = [
		'dist/**',
		'dist/.htaccess',
		];
		return gulp.src(globs, {buffer: false})
		.pipe(conn.dest('/www/mydomain.com/'));
	});

Имя таска «deploy», это значит, что в bash командой gulp deploy файлы будут отправляться на сервер хостинга.

По строчкам: host, user и password, я думаю, понятно, тут всё как в FileZilla Client.

Строки: 'dist/**', и 'dist/.htaccess' – это те папки, откуда будут браться файлы для деплоя (deploy) на сервер хостинга.

Строка: .pipe(conn.dest('/www/mydomain.com'/')); позволяет указать путь для хостинга, куда загружать ваши файлы, в данном случае /www/mydomain.com'/ – это путь до нужной папки в хостинг-панели ISPmanager5 (скоро и для ISPmanager6).

Конечный вид в файле gulpfile.js:

	var gulp = require('gulp'),
		gutil = require('gulp-util'),
	ftp = require('vinyl-ftp');

	gulp.task('deploy', function() {
		var conn = ftp.create({
		host:      'mydomain. com',
		user:      'my-ftp-user-name',
		password:  'MyFtpUserPassword',
		parallel:  10,
		log: gutil.log
	});

	var globs = [
		'dist/**',
		'dist/.htaccess',
		];
		return gulp.src(globs, {buffer: false})
		.pipe(conn.dest('/www/mydomain.com/'));
	});
Vinyl-ftp – настройка deploy сайта на хостинг по протоколу FTP через Gulp

Как указал выше, командой gulp deploy в bash отправляем сайт на сервер хостинга.

Всё предельно просто!

Vinyl-ftp и gulp-rsync – возможности, преимущества и недостатки

  vinyl-ftp gulp-rsync
Возможности Отправка файлов на хостинг Отправка файлов на хостинг
Преимущества

1) Не требуется SSH.

2) Не требуется каждый раз вводить пароль.

3) Высокая скорость передачи файлов.

1) Высокая безопасность.

2) При настройке SSH аутентификации по открытому ключу не требуется ввод пароля каждый раз.

3) Высокая скорость передачи файлов.

4) Загружаются только новые или изменённые файлы, что ускоряет скорость передачи данных.

Недостатки

1) Менее безопасен, дело в том что для работы vinyl-ftp требуется создать FTP юзера на хостинге, но дело в том, что чаще всего именно через FTP злоумышленники добираются к файлам сайта.

2) Каждый раз загружаются все файлы, что увеличивает время передачи данных.

1) Для большей автоматизации требуется муторная настройка SSH аутентификации по открытому ключу.

2) Не каждый хостинг предоставит SSH.

Вывод:

Если ваша информация имеет большую ценность, и у вас паранойя, а вокруг враги, то конечно, лучше использовать gulp-rsync. Если вы здоровы и чувствуете себя хорошо, то вполне хватит vinyl-ftp.

Vinyl-ftp и FileZilla Client – возможности, преимущества и недостатки

  vinyl-ftp FileZilla Client
Возможности Отправка файлов на хостинг Отправка файлов на хостинг
Преимущества

1) Не требуется SSH.

2) Не требуется каждый раз вводить пароль.

3) Высокая скорость передачи файлов.

1) Не требует установки gulp и таска для деплоя на хостинг.

2) Богатый и простой функционал.

3) Множество обучающих наглядных видео и инструкций.

Недостатки

1) Менее безопасен. Дело в том, что для работы vinyl-ftp требуется создать FTP-юзера на хостинге, но чаще всего именно через FTP злоумышленники добираются до файлов сайта.

1) Требуется постоянно запускать программу.

2) Постоянно обновляется, и невозможно от этого избавиться.

3) Возможно, есть встроенная реклама.

4) Так же как и vinyl-ftp менее безопасен.

5) Медленнее передаёт файлы на хостинг в сравнении с vinyl-ftp и gulp-rsync.

Вывод к сравнению vinyl-ftp и FileZilla Client: думайте сами!

Итак, vinyl-ftp оказался очень даже удобен, при этом ничего плохого не хочу сказать о gulp-rsync. Если есть возможность использовать gulp-rsync для деплоя файлов, то почему бы и нет. FileZilla Client отлично подходит для новичков и для решения каких-то других своих задач.

Друзья, если вам есть что добавить к данной публикации или есть вопросы, я буду рад увидеть ваши комментарии.

Если эта информация стала для вас полезной, вы можете сказать "спасибо", нажав кнопку вашей любимой социальной сети:

Вконтакте
Одноклассники
Google Plus
Читать еще:
Let's Encrypt – бесплатный SSL-сертификат для сайта: инструкция по получению, установке, перевыпуску, а также преимущества и недостатки
Let's Encrypt – бесплатный SSL-сертификат для сайта: инструкция по получению, установке, перевыпуску, а также преимущества и недостатки
10/02/2019
Хостинг для Landing Page – как выбрать нужный тариф
Хостинг для Landing Page – как выбрать нужный тариф
07/02/2019
Установка WordPress с нуля на хостинг
Установка WordPress с нуля на хостинг
01/02/2019
Как выбрать хостинг для WordPress 5
Как выбрать хостинг для WordPress 5
25/01/2019
Хостинг или VPS – как сделать верный выбор? Советы из личного опыта
Хостинг или VPS – как сделать верный выбор? Советы из личного опыта
20/01/2019

Подпишись и будь в курсе новых публикаций на сайте!