Сценарий Gulp, который приводит к сбою FTP в Azure WebApp с помощью getaddrinfo ENOTFOUND

Я пытаюсь собрать сценарий gulp, который будет следить за моими измененными файлами (внешними файлами, такими как css, js, cshtml) и отправлять их по FTP в мое Azure WebApp в момент их изменения. Я использую gulp-ftp, но если есть лучший вариант, пожалуйста, дайте мне знать.

  gulp.src(cssRoot).pipe(
    foreach(function (stream, rootFolder) {
      gulp.watch([cssRoot + "/**/*.css", jsRoot + "/**/*.js", cshtmlRoot + "/**/*.cshtml"], function (event) {
        if (event.type === "changed") {
          console.log("publish file " + event.path);
          gulp.src(event.path, { base: './' })
          .pipe(ftp({
            host: 'ftp://my-azure.website-ftp-url/',
            user: 'my-azure-ftp-username\in-the-complete-form',
            pass: 'my-azure-ftp-password',
            remotePath: 'site\wwwroot\'
          }))
          .pipe(gutil.noop());
        }
        console.log("published " + event.path);
      });
      return stream;
    })
  );
});

Я проверил учетные данные для FTP, используя FileZilla, и он отлично работает. (Я извлек их, используя метод здесь).

Часы, кажется, работают нормально, однако FTP, похоже, не работает со следующей ошибкой:

events.js:160
      throw er; // Unhandled 'error' event
      ^
Error: getaddrinfo ENOTFOUND ftp://my-azure.website-ftp-url/ ftp://my-azure.website-ftp-url/:21
    at errnoException (dns.js:28:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

Кто-нибудь знает, почему он не может подключиться?

Я также не уверен, что мой сценарий скопирует файл в относительное местоположение веб-сайта, или он пойдет прямо в корень..... но это совсем другой вопрос.

2 ответа

Решение
  • Как отметил @Mark, сначала удалите "ftp://" из значения вашего хоста.

  • Затем вам также необходимо удвоить "\" в пользовательском значении (например: "someapp\\someuser"). Вижу винил-фтп странная ошибка.

Что ж, gulp-ftp говорит, что он устарел в пользу винил-ftp, хотя это, вероятно, не ваша проблема. Я бы удалил "ftp://" из значения вашего хоста (если оно есть) и посмотрел бы, работает ли лучше.

Вот очень хороший блог об использовании винил-фтп с использованием gulp с винил-фтп. Винил-ftp также может прекрасно переносить передачу только новых файлов.

Другие вопросы по тегам