sshfs + VPN + git를 견딜 수있는 작업 환경으로 만드는 방법은 무엇입니까? sshfsmounth가 고장 나고 IDE가 정지

현재 내가 작업중 인 프로젝트의 코드베이스는 회사 서버에 원격으로 있습니다. 그렇게 유지해야합니다. 또한 원격 git저장소를 공개 할 수 없습니다.

내 현재 설정은 다음과 같습니다

  • 에 연결 VPN
  • sshfs코드 사본을 마운트하기 위해 실행
  • 코드 작업 시작
  • 내가 끝나면 : ssh원격 서버로 가서 git거기서 명령을 실행하십시오.

이것의 문제는 VPN이 때때로 떨어지기 때문에 내 sshfsmounth가 고장 나고 IDE가 정지 한다는 것 입니다. 내가하는 일은 수동으로 VPN을 다시 연결 한 다음 sshfs다시 실행하고 다시 작동하는 것입니다.

그러나 VPN추락이 더 빈번해지면서 성가시다 .

그래서 sshfs일종의 캐시 에 대한 설정이 있는지 궁금 해서 VPN을 다시 사용할 때만 작동하고 변경 사항을 동기화 할 수 있습니다.

원격 드라이버를 사용할 수 없으면 쓸 내용이 없기 때문에 의미가 없습니다. 그래서 어떤 watch종류의 것을 사용 rsync하고 양방향으로 변경 사항을 이동 시키는 데 사용하는 다른 설정은 어떻 습니까 (파일을 저장할 때 또는 할 때 git pull)

git clone 만 할 수는 없습니다. 전체 환경을 ‘로컬'(DB 및 물건)로 재생산 할 수 없기 때문입니다.

코드는 서버에 있어야합니다. 내 작업을 테스트 / 확인하려면 URL, 즉 내 샌드 박스에 액세스해야합니다. 변경 사항을보고 싶을 때마다 git push를 사용할 수 없습니다.



답변

zecrazytux 오른쪽이다왜 사용하지 않는 git당신이 생각하고있는 방법 : 원격으로 작업, 저장소를 복제, 마스터로 다시 변경을 밀어를?

git push변경 사항을보고 싶을 때마다 ( ” 테스트되고 입증 된 작업을 수행 할 때 병합되는 개발 지점으로 이동 “할 때마다 작업 을 “할 수없는”이유는 없습니다 . 많은 사람들이이 작업을 수행합니다. post-receive해당 부분을 자동화하려는 경우 후크를 사용 하여 변경 사항을 환경에 배포 할 수도 있습니다 .
(당신은 분명히 이것을하고 싶지 는 않지만, 당신의 문제의 전제를 거부하는 이유를 제시하지 않았습니다.)


솔직히 신뢰할 수없는 네트워크 연결을 “허용”하도록하기 위해 할 수있는 일은 없습니다.screen 당신입니다 기본 네트워크 불안정성을 조사하고 수정하십시오.
“허용 할 수있게”하기 위해 다른 것을 시도하는 것은 무의미한 운동이다 ( “허리케인의 칵테일 우산”을 생각하십시오).


답변

대기 시간을 최소화하기 위해이 sshfs 옵션을 사용하고 있습니다.

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

자동 캐시 및 arcfour chiper를 사용하는 재 연결 플래그, 모든 sshfs 해결 방법이 있습니다.

sshfs 매뉴얼에서 해당 옵션에 대해 읽을 수 있습니다. 최소한 내 설정에서 가장 빠른 sshfs 옵션을 찾았습니다.

ETA : sshfs 성능에 대한 추가 정보 : sshfs performance