Como tornar sshfs + VPN + git um ambiente de trabalho tolerável?

6

Atualmente, a base de código do projeto em que estou trabalhando é remotamente em um servidor da empresa. e tem que ficar assim. também o repositório git remoto não pode ser tornado público.

Minha configuração atual é:

  • Conecte-se ao VPN
  • execute sshfs para montar uma cópia do código
  • comece a trabalhar no código
  • quando eu terminar: ssh para o servidor remoto e executar git comandos lá

O problema com isso é que a VPN cai de tempos em tempos, então My sshfs mounth é interrompido e meu IDE congela. O que eu faço é reconectar manualmente a VPN, depois executar sshfs novamente e voltar ao trabalho.

Mas fica irritante já que o VPN cai com mais frequência.

Então, pergunto-me se existem configurações para sshfs para algum tipo de cache, isso permitiria que eu trabalhasse e sincronizasse apenas as alterações quando a VPN voltasse.

Isso não faz sentido, pois se o driver remoto não estiver disponível, não há nada para escrever. Então, o que acontece com uma configuração diferente que usa um pouco de watch de coisa e usa rsync para mover as alterações de maneira bidirecional (quando eu salvo um arquivo ou quando faço git pull )

Eu não posso simplesmente clonar o clone, porque não consigo reproduzir o ambiente inteiro para trabalhar 'localmente' (DB e outras coisas)

o código tem que estar em seus servidores, para que eu possa testar / ver meu trabalho, tenho que acessar um URL, que é o meu sandbox. Não consigo apertar cada vez que quero ver minhas alterações.

    
por Asgaroth 17.01.2013 / 17:12

2 respostas

2

zecrazytux está certo - Por que você não usa git da maneira que deveria: clonando o repositório, trabalhando nele remotamente e enviando as mudanças de volta para o mestre?

Não vejo nenhuma razão pela qual você "não possa" git push seu trabalho toda vez que quiser ver suas alterações (idealmente encaminhando para um ramo de desenvolvimento que é mesclado quando testado e comprovado funcionando) - muitas pessoas isto. Você pode até usar um gancho post-receive para implantar suas alterações no ambiente se quiser automatizar essa parte das coisas. (Você obviamente não quer fazer isso , mas você não deu nenhuma razão para que eu rejeite a premissa do seu problema.)

Francamente, não há nada que você possa fazer para tornar uma conexão de rede não confiável "tolerável" (ESPECIALMENTE se você estiver tentando montar sistemas de arquivos de rede) - você pode trabalhar remotamente conforme descrito acima, SSH no sistema e trabalhar diretamente nele ( screen é seu amigo aqui) ou investigue e corrija a instabilidade de rede subjacente.
Tentar fazer outra coisa para "torná-la tolerável" é um exercício de futilidade (pense em "guarda-chuva de coquetel em um furacão").

    
por 17.01.2013 / 19:46
0

Estou usando as opções do sshfs para minimizar a latência:

sshfs -o Ciphers=arcfour,compression=no,nonempty,auto_cache,reconnect,workaround=all [email protected]:/usr/local/gitdev/ ~/dev/code

Ele possui o sinalizador de reconexão, todas as soluções alternativas sshfs, usando cache automático e chiper arcfour.

Você pode ler sobre essas opções no manual do sshfs, eu achei essas as opções mais rápidas do sshfs pelo menos na minha configuração.

ETA: Mais sobre o desempenho do sshfs leia aqui: desempenho do sshfs

    
por 23.01.2016 / 15:07