FTP 폴더를 Windows 폴더와 동기화 된 상태로 유지 통해서만 액세스 할 수있는 오프 사이트 서버에

개발 환경에서 Continuous Integration 시스템을 처음부터 끝까지 작동 시키려고합니다.

불행히도 게시 후 마지막 단계는 FTP를 통해서만 액세스 할 수있는 오프 사이트 서버에 폴더를 복사하는 것입니다.

로컬 폴더를보고 서비스가 변경되면 FTP 서버를 해당 변경 사항으로 업데이트하는 서비스를 실행하고 싶습니다.

Windows에서 이것을 달성 할 수있는 것을 찾을 수없는 것 같습니다.



답변

무료 오픈 소스 WinSCP FTP 클라이언트가 있으며 여기에는 모든 종류의 기능이 있습니다.

찾고있는 명령은 “명령” 메뉴에 있으며 “원격 디렉토리를 최신 상태로 유지”라고 합니다.

원격 디렉토리를 최신 대화 상자로 유지


스크립트 가능한 지원뿐만 아니라 통해 keepuptodate명령 .


답변

프리웨어 버전의 SyncBack을 사용해보십시오 . 실시간 폴더 모니터링은 수행하지 않지만 지정된 간격으로 동기화되도록 예약 할 수 있습니다. 1 분 정도 낮게 설정하십시오.


답변

자식 기반의 무료 및 오픈 소스 솔루션 :

동기화를 위해 git-ftp 를 사용하십시오 . 로컬 git 저장소를 설치하고 설정 한 후 다음을 수행 할 수 있습니다.

  • git ftp init -u <사용자> -P ftp : host.example.com/public_html # 처음으로 밀어 넣기
  • git ftp push –user <user> –passwd <password> f–tp : //host.example.com/public_html

이제 파일 시스템 변경 사항을 관찰하고 로컬 git 저장소에 추가하고 위 명령을 사용하여 저장소를 푸시하면됩니다.

장점 :

  • git-ftp는 Windows 및 Linux에서 작동합니다 (Windows에서는 mysys git으로 테스트 됨)
  • 이미 git을 사용하고 있다면 개발 환경에 잘 통합됩니다.
  • 설치 및 사용이 매우 쉽습니다 (git에 익숙한 경우)
  • 증분 변경-> 많은 대역폭 절약

단점 :

  • 파일 시스템 변경을 감시 할 솔루션을 찾아야합니다 (너무 어렵지 않아야합니다. 예를 들어 nodejs에 솔루션이 있습니다)

다음은 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

이 대화식 예제이지만 배치 파일에 비밀번호를 저장하여 비 대화식으로 만들 수 있습니다.


답변