2013-03-27 4 views
3

정리/공유/캐시 - 사본 방법Opscode 요리사 - 우리는 우리의 파이프 라인에서 Opscode 요리사를 사용하여 우리가 배포 (<a href="http://docs.opscode.com/resource_deploy.html" rel="nofollow">http://docs.opscode.com/resource_deploy.html</a> 참조)/공유/캐시 복사에 대한 우리의 소스 코드의 전체 복사본을 생성 것을 알 수

그것의 .git/object 폴더에 이미 거의 천 가지의 완전한 버전 (델타뿐만 아니라!)이 있으므로 파일 크기가 커지고 성장합니다.

이 문제를 해결할 수있는 방법이 있습니까? 우리는 전혀 필요하지 않습니다.

각 배포 후에 디렉토리를 삭제할 수있는 글을 쓸 수는 있었지만이를 처리 할 수있는 좋은 방법이 있습니까? 감사.

+0

정확한 답으로 표시하는 것을 잊지 마세요. :) – sethvargo

+0

글쎄 대답이 있다면. – Calmon

+0

첫 번째 답변에 어떤 문제가 있습니까? 위의 링크에서 – sethvargo

답변

1

캐시 된 사본에는 용도가 있기 때문에 자식이 원격지에서 변경 사항을 가져올 때 캐시 된 복사본은 누락 된 항목 만 끌어 오는 데 사용됩니다. 그런 다음이 캐시 된 사본은 git을 사용하는 새로운 개정판에 복제되며 git clones 저장소가 동일한 디스크에 하드 링크를 만들 때 .git/오브젝트가 복제되지 않으므로 모든 "사본"에서 공유되는 동일한 파일입니다. 이 디렉토리를 그대로 두는 것이 좋습니다. 실제로 중요합니다.

+0

: repository_cache \t 응용 프로그램 소스의 원시 사본이 보관되는 서브 디렉토리의 이름. 기본값 : cached-copy. 그것은 모든 것을 다 복사 한 것입니다. – Calmon

1

우리는 뭔가 다른 것을보고 있습니다. 우리의 경우 우리는 서브 모듈을 사용하고 있습니다. 서브 모듈이 제거되면 git pull은 이전 서브 모듈 디렉토리를 제거하지 않습니다. 그래서 우리는 쓰레기가 남아 있습니다. 캐시 된 사본은이 추가 코드로 릴리스로 복사됩니다.