Сохраняйте папку FTP синхронизированной с папкой Windows

8

Я пытаюсь заставить мою систему непрерывной интеграции работать от начала до конца в среде разработчика.

К сожалению, последний шаг после публикации - копирование папки на внешний сервер, доступ к которому я могу получить только через FTP.

Мне бы хотелось, чтобы работала служба, которая следит за локальной папкой, и, если она меняется, обновляет FTP-сервер с этими изменениями.

Я не могу найти что-то для этого в Windows.

CaffGeek
источник
Между тем, смотрите также «SFTP как папка на Vista» по адресу superuser.com/questions/55860/sftp-as-a-folder-on-vista
Arjan

Ответы:

14

Существует бесплатный FTP-клиент WinSCP с открытым исходным кодом , который имеет все возможности для этого.

Команда, которую вы ищете, находится в меню «Команды» и называется «Обновлять удаленный каталог» .

Держите удаленный каталог в актуальном состоянии


Также имеется поддержка сценариев с помощью keepuptodateкоманды .

Маттис П
источник
5

Попробуйте бесплатную версию SyncBack . Он не выполняет мониторинг папок в реальном времени, но вы можете запланировать его синхронизацию через определенные промежутки времени. Установите это к чему-то низкому как 1 минута.

Джон Т
источник
Я бы предпочел мониторинг в реальном времени, если смогу его найти. Я мог бы написать это, я полагаю, у меня просто есть дела поважнее.
CaffGeek
1
Я давно искал проект, чтобы вернуться в программирование. Это звучит как хорошая подгонка. Я играл с INotify и JNotify на выходных, и это довольно тривиально. В ближайшие несколько недель вы увидите от меня программное обеспечение для синхронизации :)
John T
2

Бесплатное и открытое решение на основе git:

Используйте git-ftp для синхронизации. После установки и настройки локального репозитория git вы можете сделать:

  • git ftp init -u <пользователь> -P f tp: //host.example.com/public_html # для первого нажатия
  • git ftp push --user <пользователь> --passwd <пароль> f tp: //host.example.com/public_html

Теперь вам нужно просто следить за изменениями файловой системы, добавлять их в локальный репозиторий git и загружать репозиторий с помощью приведенной выше команды.

Преимущества:

  • git-ftp работает на windows и linux (протестировано с mysys git на windows)
  • хорошо интегрируется в ваши настройки разработки, если вы уже используете git
  • очень прост в настройке и использовании (если вы знакомы с git)
  • инкрементные изменения -> экономит большую пропускную способность

Недостатки:

  • вам нужно найти решение, чтобы следить за изменениями файловой системы (это не должно быть слишком сложно, например, для nodejs есть решения для этого)

Вот пример для командного файла, который я использую в Windows:

@echo off
git init .
git add . --all
git commit -am "auto commit"
set /p pwd= Please enter ftp password: 
git ftp push --user myftpuser --passwd %pwd% ftp://myftphost.com/myfolder

Обратите внимание, что это интерактивный пример, но вы можете сделать его неинтерактивным, сохранив пароль в командном файле.

Доминик Андреас
источник