개발 환경에서 Continuous Integration 시스템을 처음부터 끝까지 작동 시키려고합니다.
불행히도 게시 후 마지막 단계는 FTP를 통해서만 액세스 할 수있는 오프 사이트 서버에 폴더를 복사하는 것입니다.
로컬 폴더를보고 서비스가 변경되면 FTP 서버를 해당 변경 사항으로 업데이트하는 서비스를 실행하고 싶습니다.
Windows에서 이것을 달성 할 수있는 것을 찾을 수없는 것 같습니다.
답변
무료 오픈 소스 WinSCP FTP 클라이언트가 있으며 여기에는 모든 종류의 기능이 있습니다.
찾고있는 명령은 “명령” 메뉴에 있으며 “원격 디렉토리를 최신 상태로 유지”라고 합니다.
답변
프리웨어 버전의 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
이 대화식 예제이지만 배치 파일에 비밀번호를 저장하여 비 대화식으로 만들 수 있습니다.