2017-03-10 8 views
0

Laravel Forge를 사용하여 Envoyer에 연결하면 코드를 bitbucket master 브랜치 (라이브 서버에 연결된)로 푸시하면 사용자 프로필 파일과 ...).bitbucket의 코드를 푸시하면 서버 파일이 삭제됩니다.

/public/images/profile/* 
#and 
/public/images/profile/ 

여전히 사용자 이미지가 삭제됩니다

나는 두 개의 서로 다른 형식마다 .gitignore을 시도했다.
폴더 안에있는 이미지를 어떻게 삭제할 수 있는지 알고있는 사람이 있습니까?

+0

문제는 다음과 유사 할 수 있습니다. http://stackoverflow.com/questions/1139762/ignore-files-that-have-already-been-committed-to-a-git-repository 힘내는 이미 캐시 된 것입니다. 디렉토리를 .gitignore에 추가하기 전에 디렉토리 – EddyTheDove

답변

1

배포 할 때마다 Envoyer는 저장소의 새로운 코드로 새 디렉토리를 만듭니다. 파일은 실제로 삭제되지 않으며 이전 배포 폴더의 서버에 있습니다.

이 문제를 해결하려면 디렉토리에 사용자 파일을 배치하십시오. 그 후 다음 Envoyer -> Deployment Hooks -> Manage Linked Folders에 가서 추가 : 여기

enter image description here

자세한 내용 - https://envoyer.io/docs

배포 라이프 사이클이 배포가 프로젝트에 트리거

, Envoyer 실행됩니다 배포 계획 기본적으로 이것은 프로젝트의 tarball을 다운로드하고, Composer 종속성을 설치하고, 최신 릴리스에서 현재 심볼릭 링크를 가리키고, 마지막으로 서버에서 이전 배포를 제거하는 것으로 구성됩니다. 당신이 Laravel을 사용하는 경우 사용자가 업로드 된 파일을 저장하면 업로드 된 파일

관리

, 당신은 당신의 응용 프로그램의 저장소 디렉토리에 저장해야합니다. 그런 다음 Envoyer의 "링크 된 폴더 관리"기능을 사용하여 공개 디렉터리에서 저장소 디렉터리로의 심볼릭 링크를 만들 수 있습니다. "링크 된 폴더 관리"단추는 프로젝트의 "배포 후크"탭에서 찾을 수 있습니다.

Laravel을 사용하지 않는 경우 본질적으로 동일한 절차를 따릅니다. 그러나 응용 프로그램의 배포 경로 (현재 심볼릭 링크와 동일한 디렉토리 수준)에 수동으로 저장소 디렉토리를 만들어야합니다.