2012-09-24 13 views
2

내 방랑 - 코드베이스 저장소와 Vagrantfile, 프로비저닝 스크립트와 필요한 자원과 템플릿이 포함되어 프로비저닝 저장소를.나는 현재 힘내 내에서 두 개의 저장소가 주어진 프로젝트에 대한 VCS

개념은 내가 프로비저닝 저장소를 복제하고 특정 프로젝트에 대한 VM을 생성하기 위해 "방랑을"실행할 수 있다는 것입니다. 프로비저닝에는 공유 폴더 (게스트 OS 내에 웹 루트로 구성), 코드베이스 저장소를 해당 폴더에 복제 및 몇 가지 설정 변경이 포함됩니다. 그 결과 즉시 액세스 할 수 있고 개발 준비가 된 프로젝트입니다. 이 시스템이 작동하는 것 같다 동안

, 내가 예를 들어, 호스트의 결과 파일 구조에 대해 조금 걱정

  • /프로젝트/
  • /project/.git/
  • /프로젝트/주/
  • /project/share/.git/
  • /project/share/index.html
  • /project/provision.sh
  • /프로젝트/

Vagrantfile ... 등등. 내 프로비저닝 저장소를 복제 한 다음 코드베이스 저장소를 공유 폴더에 복제하면 약간의 문제가 발생합니다. 내 프로비저닝 저장소의 .gitignore 파일에 'share'폴더를 추가했는데 문제가 생길지 확실하지 않습니다. (이미 IDE에서 몇 가지 문제점을 발견했습니다). 내가 생각할 수있는

유일한 솔루션 또는 멀리 프로비저닝 위치에서 공유 폴더를 가리 키도록 (내가 그것을 변경해야하는 경우이 어려움을 생성)이 아니라 복제를보다 프로비저닝 저장소를 내보낼 수 있습니다. 이것들 중 어느 것도 이상적이어서 나는 뭔가를 놓치기를 바란다.

사람은 전에 이런 식으로 뭔가를 시도하고 있으며, 만약 그렇다면 당신은보다 안전하고 우아한 해결책을 제안 할 수 있습니다?

+0

나는 또 다른 잠재적 인 솔루션, 나는쪽으로 생각이 기울고있어 하나 있습니다. 프로비저닝 파일을 기본 코드베이스 저장소 아래의 폴더에 추가하고 프로비저닝 저장소를 모두 삭제했습니다. Vagrant/Virtualbox를 사용하면 상위 폴더 (코드베이스 포함)를 공유 할 수 있으므로 프로비저닝 스크립트 내에서 코드베이스를 복제 할 필요가 없습니다. 간단히 주 저장소 인 "cd/project/vagrant"를 복제하고 VM을 시작합니다. 이것은 잘 작동하는 것처럼 보입니다. – user1694651

답변

0

당신은 당신의 문제를 해결하기 위해 자식 서브 모듈을 사용할 수 있습니다

http://git-scm.com/book/en/Git-Tools-Submodules

을 당신이 응용 프로그램 디렉토리 내부의 프로비저닝 코드를 찾을 수있는 제안 간단한 솔루션을 사용하지만. 나는 2 git repos를 관리하는 것이 조금 더 혼란 스럽다는 것을 발견했다. 대부분의 프로비저닝 코드는 특정 애플리케이션에서만 작동하므로 프로비저닝과 앱 코드를 동일한 저장소에 보관하는 것이 좋습니다.