Я пытаюсь заставить мою систему непрерывной интеграции работать от начала до конца в среде разработчика.
К сожалению, последний шаг после публикации - копирование папки на внешний сервер, доступ к которому я могу получить только через FTP.
Мне бы хотелось, чтобы работала служба, которая следит за локальной папкой, и, если она меняется, обновляет FTP-сервер с этими изменениями.
Я не могу найти что-то для этого в Windows.
Ответы:
Существует бесплатный FTP-клиент WinSCP с открытым исходным кодом , который имеет все возможности для этого.
Команда, которую вы ищете, находится в меню «Команды» и называется «Обновлять удаленный каталог» .
Также имеется поддержка сценариев с помощью
keepuptodate
команды .источник
Попробуйте бесплатную версию SyncBack . Он не выполняет мониторинг папок в реальном времени, но вы можете запланировать его синхронизацию через определенные промежутки времени. Установите это к чему-то низкому как 1 минута.
источник
Бесплатное и открытое решение на основе git:
Используйте git-ftp для синхронизации. После установки и настройки локального репозитория git вы можете сделать:
Теперь вам нужно просто следить за изменениями файловой системы, добавлять их в локальный репозиторий git и загружать репозиторий с помощью приведенной выше команды.
Преимущества:
Недостатки:
Вот пример для командного файла, который я использую в Windows:
Обратите внимание, что это интерактивный пример, но вы можете сделать его неинтерактивным, сохранив пароль в командном файле.
источник