Mantenha a pasta FTP sincronizada com a pasta do Windows

8

Estou tentando fazer com que meu sistema de integração contínua funcione do início ao fim no ambiente de desenvolvimento.

Infelizmente, o último passo após a publicação é copiar a pasta para um servidor externo que só posso acessar via FTP.

Eu gostaria de ter um serviço em execução que observe uma pasta local e, se ela mudar, atualiza o servidor FTP com essas alterações.

Não consigo encontrar algo para fazer isso no Windows.

CaffGeek
fonte
Enquanto isso, ver também "SFTP como uma pasta no Vista" no superuser.com/questions/55860/sftp-as-a-folder-on-vista
Arjan

Respostas:

5

Experimente a versão gratuita do SyncBack . Ele não faz o monitoramento de pastas em tempo real, mas você pode agendá-lo para sincronizar em intervalos especificados. Defina para algo baixo como 1 minuto.

John T
fonte
Eu preferiria o monitoramento em tempo real, se eu puder encontrá-lo. Eu poderia escrever, suponho, só tenho coisas melhores para fazer.
CaffGeek
11
Estou procurando um projeto para voltar à programação há algum tempo. Isso soa como um bom ajuste. Joguei com INotify e JNotify no fim de semana e é bastante trivial. Você vai ver alguns software de sincronização de mim nas próximas semanas :)
John T
2

Solução gratuita e de código aberto baseada no git:

Use git-ftp para sincronização. Após a instalação e configuração de um repositório git local, você pode:

  • git ftp init -u <usuário> -P f tp: //host.example.com/public_html #for forçar a primeira vez
  • git ftp push --user <usuário> --passwd <senha> f tp: //host.example.com/public_html

Agora você só precisa observar as alterações no sistema de arquivos, adicioná-las ao seu repositório git local e enviar o seu repositório usando o comando acima.

Vantagens:

  • O git-ftp funciona no Windows e no Linux (testado com o mysys git no Windows)
  • integra-se perfeitamente à sua configuração de desenvolvimento, se você já estiver usando o git
  • muito fácil de configurar e usar (se você estiver familiarizado com o git)
  • mudanças incrementais -> economiza muita largura de banda

Desvantagens:

  • você precisa encontrar uma solução para observar as alterações no sistema de arquivos (não deve ser muito difícil de fazer, por exemplo, o nodejs tem soluções para isso)

Aqui está um exemplo para um arquivo em lotes que estou usando no 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

Observe que este é um exemplo interativo, mas você pode torná-lo não interativo armazenando a senha no arquivo em lotes.

dominik andreas
fonte