정기적으로 코드를 업데이트하는 웹 사이트가 있습니다. 나는 버전 관리에서 그것을 지킨다. 새 버전의 사이트를 배포하려는 경우 내보내기를 수행 한 다음 제공된 디렉토리 이름을 배포 디렉토리로 심볼릭 링크합니다.PHP, 사용자 업로드 파일, 버전 관리 및 웹 사이트 배포
사용자가 파일을 업로드 할 수있는 곳이 있습니다. 새로운 버전을 배포 한 후 사용자 파일이 사라진 것을 알았습니다. 물론, 나는 그것들을 저장소에 추가하지 않았고, 제공된 사이트는 내보내기에서 왔기 때문에, 어쨌든 버전 제어 된 디렉토리에 업로드되지 않았습니다.
PHP에는 아직 svn 기능이 통합되어 있지 않으므로 사용자가 업로드 한 파일에 프로그래밍 방식으로 많은 작업을 할 수 없습니다. 내 솔루션은 제공된 웹 사이트에 대한 병렬 디렉토리에있는 추가 웹 사이트 files.website.com을 작성하여 버전 제어하에있는 디렉토리에서 제공됩니다. 그런 식으로 웹 사이트를 업그레이드 할 때 그들은 지워지지 않습니다. 때로는 수동으로 업로드 된 파일을 svn 프로젝트에 추가하고 삭제 된 사용자 삭제 된 파일을 삭제하고 새 버전을 커밋합니다. 나는 이것을 수행하기 위해 cron에서 실행하는 쉘 스크립트를 작업하고 있지만, 그것이 나의 장점이 아니므로 긴급한 필요가 없으므로 backburner에있다.
더 좋은 방법이 있나요?
그래,하지만 심볼릭 링크를 관리하는 것의 한 가지 이점은 바로 심볼릭 링크를 변경하여 이전 라이브 버전으로 즉시 롤백 할 수 있다는 것입니다. – user151841
@ user151841 : 링크를 변경하는 동일한'svn merge -r HEAD : $ PREV_REV $ SVN_URL' grantd를 수행하기 위해 역 병합을 수행 할 수도 있습니다 .-) – prodigitalson