Garder le dossier FTP synchronisé avec le dossier Windows

8

J'essaie de faire fonctionner mon système d'intégration continue du début à la fin dans l'environnement de développement.

Malheureusement, la dernière étape après la publication consiste à copier le dossier sur un serveur hors site auquel je ne peux accéder que via FTP.

J'aimerais avoir un service en cours d'exécution qui surveille un dossier local, et s'il change, met à jour le serveur FTP avec ces modifications.

Je n'arrive pas à trouver quelque chose pour accomplir cela dans Windows.

CaffGeek
la source
En attendant, voir également "SFTP en tant que dossier sur Vista" sur superuser.com/questions/55860/sftp-as-a-folder-on-vista
Arjan

Réponses:

5

Essayez la version gratuite de SyncBack . Il ne fait pas de surveillance des dossiers en temps réel, mais vous pouvez le planifier pour qu'il se synchronise à des intervalles spécifiés. Réglez-le sur quelque chose de bas comme 1 minute.

John T
la source
Je préférerais une surveillance en temps réel si je peux la trouver. Je pourrais l'écrire, je suppose, j'ai juste de meilleures choses à faire.
CaffGeek
1
Cela fait un moment que je cherche un projet pour me remettre en programmation. Cela ressemble à un bon ajustement. J'ai joué avec INotify et JNotify au cours du week-end et c'est assez trivial. Vous verrez un logiciel de synchronisation de ma part dans les prochaines semaines :)
John T
2

Solution gratuite et open source basée sur git:

Utilisez git-ftp pour la synchronisation. Après l'installation et la configuration d'un référentiel git local, vous pouvez faire:

  • git ftp init -u <utilisateur> -P f tp: //host.example.com/public_html # pour pousser la première fois
  • git ftp push --user <utilisateur> --passwd <mot de passe> f tp: //host.example.com/public_html

Maintenant, il vous suffit de surveiller les modifications du système de fichiers, de les ajouter à votre référentiel git local et de pousser votre référentiel en utilisant la commande ci-dessus.

Avantages:

  • git-ftp fonctionne sur windows et linux (testé avec mysys git sur windows)
  • s'intègre bien dans votre configuration de développement si vous utilisez déjà git
  • très facile à configurer et à utiliser (si vous connaissez git)
  • changements incrémentiels -> économise beaucoup de bande passante

Désavantages:

  • vous devez trouver une solution pour surveiller les modifications du système de fichiers (cela ne devrait pas être trop difficile à faire, par exemple, nodejs a des solutions pour cela)

Voici un exemple de fichier de commandes que j'utilise sur 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

Notez qu'il s'agit d'un exemple interactif, mais vous pouvez le rendre non interactif en stockant le mot de passe dans le fichier de commandes.

dominik andreas
la source