Назад | Перейти на главную страницу

Как сделать sshfs + VPN + git приемлемой рабочей средой?

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

Моя текущая настройка:

Проблема в том, что VPN время от времени падает, поэтому My sshfs mounth ломается, и моя IDE зависает. что я делаю, это вручную повторно подключаю VPN, а затем запускаю sshfs снова и вернуться к работе.

Но это раздражает, когда VPN падает чаще.

Поэтому мне интересно, есть ли какие-нибудь настройки для sshfs для какого-то кеша, который позволил бы мне работать и синхронизировать изменения только после того, как VPN вернется.

Это может не иметь смысла, поскольку, если удаленный драйвер недоступен, писать не на что. А как насчет другой настройки, в которой watch вид вещей и использование rsync для двунаправленного перемещения изменений (либо когда я сохраняю файл, либо когда git pull )

Я не могу просто git clone, потому что я не могу воспроизвести всю среду для работы `` локально '' (БД и прочее)

код должен быть на их серверах, чтобы я мог проверить / увидеть свою работу, мне нужно получить доступ к URL-адресу, то есть к моей песочнице. Я не могу git push каждый раз видеть свои изменения.

Зекразитукс прав - Почему бы тебе не использовать git так, как вы должны: клонировать репозиторий, работать с ним удаленно и отправлять изменения обратно в мастер?

Я не вижу причин, по которым ты "не можешь" git push свою работу каждый раз, когда вы хотите увидеть свои изменения (в идеале, продвигая ветку разработки, которая затем объединяется, когда она проверена и доказала свою работоспособность) - многие люди так делают. Вы даже можете использовать post-receive крючок для развертывания ваших изменений в среде, если вы хотите автоматизировать эту часть вещей.
(Вы очевидно не ХОЧУ делать это, но вы не объяснили причину, поэтому я отвергаю предпосылку вашей проблемы.)


Откровенно говоря, вы ничего не можете сделать, чтобы сделать ненадежное сетевое соединение «терпимым» (ОСОБЕННО, если вы пытаетесь смонтировать сетевые файловые системы) - вы можете либо работать удаленно, как описано выше, SSH в систему и работать непосредственно с ней (screen является вашим другом здесь), или исследуйте и устраните основную нестабильность сети.
Попытки сделать что-то еще, чтобы «сделать его терпимым» - бесполезное занятие (вспомните «коктейльный зонтик во время урагана»).

Я использую эти параметры sshfs, чтобы минимизировать задержку:

sshfs -o Ciphers=arcfour,compression=no,nonempty,auto_cache,reconnect,workaround=all user@development.net:/usr/local/gitdev/ ~/dev/code

У него есть флаг повторного подключения, все обходные пути sshfs, с использованием автоматического кеширования и чипа arcfour.

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

ETA: Подробнее о производительности sshfs читайте здесь: производительность sshfs