2013-09-04 3 views
0

현재 로컬 컴퓨터에서 Capistrano를 사용하는 개발 서버로 배포하고 있습니다. dev 서버에는 'vcc'라고 불리는 내 프로젝트 용 gemset이 있지만 인터넷을 통해 명확하게 알 수 있듯이 Capistrano는 rvm gemset 대신 공유/번들로 번들 설치를 수행합니다.rvm gemset 미러/참조 만들기 Capistrano 번들 설치

.rvmrc 파일을 만들고 프로젝트에 넣을 때 'vcc'gemset을 선택하면됩니다. 그러나이 gemset은 배포의 일부로 업데이트되지 않습니다. 그래서 나는 여전히 일반적으로 rvm gemset보다는 '공유/번들'을 선택하는 'bundle exec'로 모든 명령을 실행합니다.

내가하고 싶은 것은 rvm gemset을 업데이트 된 상태로 유지하여 프로젝트에 CD를 넣었을 때 모든 항목 앞에 번들 exec을 실행할 필요가 없도록하는 것입니다. 이 작업을 수행하는 가장 좋은 방법은 무엇인지 모르겠습니다. 내 유일한 아이디어는 '공유/번들'디렉토리를 가리키는 'vcc'gemset 디렉토리에 심볼릭 링크를 만드는 것이 었습니다. 나는 rvm이 자체적으로 포함되어야하고/rvm 디렉토리에서 symlink를 따르지 않을 것이라고 somehwere를 읽었습니까?

카피스트라노를 귀하의 보석 세트에 배치 할 수는 있지만 추천하지는 않습니다. 카피스트라노가 보석을 다루고 rvm이 루비를 처리하도록하는 것이 좋습니다. "번들 임원"을 제거하고 싶습니다. Capistrano 또는 rvm 구성과 관련이없는 쉬운 방법이 있습니까?

답변

0

실제로 판매 된 보석을 사용하지 않는 것이 좋습니다. 보석으로 사용하는 데 문제가 없으므로 gemset을 사용하면 더 안전합니다.

set :bundle_dir, '' 
set :bundle_flags, '--system --quiet' 

이 방법 보석 gemset에 설치되고 모든 것이 잘 작동합니다 :

rvm-capistrano 이미 여기 https://github.com/wayneeseguin/rvm-capistrano#disabling-bundle---deployment-when-using-gemsets vendored 보석을 사용하지 않도록 제안합니다.