Synchronizuj folder FTP z folderem Windows

8

Staram się, aby mój system ciągłej integracji działał od początku do końca w środowisku deweloperskim.

Niestety ostatnim krokiem po opublikowaniu jest skopiowanie folderu na serwer zewnętrzny, do którego mogę uzyskać dostęp tylko przez FTP.

Chciałbym mieć usługę działającą, która obserwuje folder lokalny, a jeśli się zmieni, aktualizuje serwer FTP o te zmiany.

Nie mogę znaleźć rozwiązania tego problemu w systemie Windows.

CaffGeek
źródło
W międzyczasie zobacz także „SFTP as a folder on Vista” na superuser.com/questions/55860/sftp-as-a-folder-on-vista
Arjan

Odpowiedzi:

5

Wypróbuj bezpłatną wersję SyncBack . Nie monitoruje folderów w czasie rzeczywistym, ale można zaplanować synchronizację w określonych odstępach czasu. Ustaw na coś niskiego, jak 1 minuta.

John T.
źródło
Wolę monitorowanie w czasie rzeczywistym, jeśli mogę je znaleźć. Mógłbym to napisać, mam tylko lepsze rzeczy do zrobienia.
CaffGeek
1
Od jakiegoś czasu szukałem projektu, aby wrócić do programowania. Brzmi jak dobre dopasowanie. Grałem z INotify i JNotify przez weekend i jest to dość trywialne. Za kilka tygodni zobaczysz ode mnie oprogramowanie do synchronizacji :)
John T
2

Darmowe i otwarte rozwiązanie oparte na git:

Użyj git-ftp do synchronizacji. Po instalacji i skonfigurowaniu lokalnego repozytorium git możesz:

  • git ftp init -u <użytkownik> -P f tp: //host.example.com/publiczny_html #popychanie po raz pierwszy
  • git ftp push --user <użytkownik> --passwd <hasło> f tp: //host.example.com/public_html

Teraz musisz tylko obserwować zmiany w systemie plików, dodać je do lokalnego repozytorium git i przesłać repozytorium za pomocą powyższej komendy.

Zalety:

  • git-ftp działa na Windowsie i Linuksie (testowane z mysys git na Windowsie)
  • ładnie integruje się z twoją konfiguracją programistyczną, jeśli już używasz git
  • bardzo łatwy w konfiguracji i obsłudze (jeśli znasz git)
  • zmiany przyrostowe -> oszczędza dużo przepustowości

Niedogodności:

  • musisz znaleźć rozwiązanie, aby obserwować zmiany w systemie plików (nie powinno to być zbyt trudne, np. nodejs ma na to rozwiązania)

Oto przykład pliku wsadowego, którego używam w systemie 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

Zauważ, że jest to interaktywny przykład, ale możesz uniemożliwić interakcję, przechowując hasło w pliku wsadowym.

dominik andreas
źródło