2013-12-21 2 views
2

레일스 애플리케이션과 마운트 가능한 엔진을 프로덕션 환경에서 구성하는 것에 대해 약간 혼란 스럽습니다.레일스 엔진을 프로덕션 환경의 여러 애플 리케이션에 마운트하는 모범 사례

마운트 할 수있는 엔진을 1 개 사용하는 N 개의 앱이 있습니다 (앱용 쿠키가 일부 설정 됨).
개발 중이 방법으로 작동합니다.
폴더 :

애플 리케이션 Gemfile에
|— app1 
|— app2 
|— my_engine 

:

gem 'my_engine', path: "../my_engine" 

그래서 애플 리케이션의 모든 1 소스를 장착하고 있습니다.
그리고 나는이 논리를 생산에 사용하고 싶습니다. (배포를위한 카피 스트라 노를 사용하는)이 방법을 조직 내 VPS 애플 리케이션에

: 내 생산 my_engine을 배포하고 서버에서 모든 앱에 연결하는 방법 :

|—apps_folder 
|— — app1 
|— — — current (sym link) 
|— — — releases 
|— — — shared 

|— — app2 
|— — — current (sym link) 
|— — — releases 
|— — — shared 

|— git 
|— — app1.git 
|— — app2.git 

날이 워크 플로에 대해 설명 할 수 있습니다. 감사.

답변

4

공유 레일 엔진을 배포하는 방법을 의미 했습니까? 공유 된 엔진이 각 레일 앱에 마운트 된 경우 엔진을 단독으로 배포 할 필요가 없습니다. 프로덕션에 레일 앱을 배포 한 후 bundle install을 실행하면 공유 엔진을 포함하여 모든 앱 종속성이 설치됩니다. 이것이 배포 과정에서 우리가 한 일입니다.

+0

그래서 엔진의 repo를 서버로 밀어 넣고 Gemfiles : 'user @ server : path/to/engine.git'과'bundle install'에서 찾아야합니다. 그래? –

+1

엔진을 github으로 밀어 넣고 Gemfile에서 github을 가리킬 수 있습니다. – user938363

+0

네, 알겠습니다. 감사! –

관련 문제