2010-02-23 5 views
0

나는 SERVERFAULT에이 항목을 올렸지 만 답장을받지 못했습니다. 그래서 여기에 간다 :(Rails, Warbler) Glassfish에서 Rails 응용 프로그램을 배포하고 초기화하는 중 ...?

나는 현재 Rails 애플리케이션을 마무리 짓고있다. Warbler를 사용하여 ".war"파일로 패키지하고 GlassFish를 사용하여 배포합니다. 신청서를 사내에서 사용할 수 있도록 회사에 배포해야하기 때문에이 작업을 수행합니다. 아마이 성격의 응용 프로그램을 개발하는 데 또 다른 프레임 워크를 사용할 수 있었거나해야 했었습니다. 그러나 배포 번거 로움보다 쉽고 빠르게 개발할 수있었습니다.

즉, 제 개발 컴퓨터에서 제대로 작동하는 설정이 있습니다. 그러나 환경 초기화를 자동화하는 방법에 대해 궁금합니다. 다른 말로하면, 나는 모든 DB, 파일 등을 보장하는 방법을 알아야한다. 배포시 구성됩니다. 필자가 지금까지 본 모든 예제는 배포하려는 시스템에서 IDE를 실행 중이며 배포 전에 수동으로 레이크 작업을 실행한다고 가정합니다. 그러나 단순히 최종 사용자에게 ".war"를 제공하고 응용 프로그램 배포/실행시 모든 레이크 작업을 실행할 수 있어야합니다.

누군가가이 문제와 관련하여 올바른 방향으로 나를 가리킬 수 있습니까? FWIW 환경 초기화에 대해서는 글래스 피쉬 매뉴얼에는 아무것도 없습니다. 다시 한번, 나는 그들이 배치의 모든 측면을 다루어야한다고 생각하지는 않습니다.

최고.

답변

0

데이터베이스 요구 사항에 따라 Derby을 Glassfish 환경에 내장 할 수 있습니다. 빈/기본 데이터베이스를 쉽게 만들 수 있으며 설치해야하는 각 Glassfish 환경에 해당 클린 버전을 넣을 수 있습니다.

내가 구성하고 초기화해야 할 부분이 무엇인지 모르겠지만 가능하다면 일부 레이크 작업으로 스크립팅 할 수 있습니다. Embedding Derby는 데이터베이스 시작 및 초기화를 담당합니다. war 파일은 zip 파일 일 뿐이므로 스크립트를 통해 config 파일을 추가하는 것은 그렇게 어렵지 않아야합니다. 레일 이니셜 라이저 (/ config/initializers /)를 사용하여 yml 파일을 구성 용으로로드하거나 응용 프로그램을 시작할 때 필요한 작업을 수행 할 수 있습니다.

데이터베이스에 초기화 프로그램을 만들 수 없지만 기본 시드 데이터를 확인하고 거기에없는 경우 입력 할 수 있습니다.

Glassfish와 JVM이 액세스 할 수있는 파일 시스템의 모든 부분에 액세스 할 수 있어야합니다. 글래스 피에 대해 많이 알지는 못했지만 Tomcat의 jruby rails 응용 프로그램에서 발생한 유일한 문제는 상대 경로가 시작 스크립트가 호출 된 위치와 관련된 것이 었으며 항상 설치 루트와 관련이없는 것과 관련이있었습니다. 이것은 아마도 Tomcat의 올바른 시작 스크립트로 해결하거나 적절한 시작 폴더를 설정하여 해결할 수있을 것입니다. 단지 그만큼 뛰어 들어야 할 필요는 없습니다.

+0

기본적으로 일부 디렉토리와 데이터베이스를 설정해야합니다. 차라리 다른 설치를 다루지 않을 것입니다. (배포 될 예정이며 다른 항목을 지원할 책임이 있습니다) Derby를 피하고 싶습니다. 시작할 때 불평하지 않고 DB를 설정하는 데 이니셜 라이저를 사용할 수 있습니까? 호기심에서 글래스 피쉬 사용으로 인해 디렉토리 쓰기 및 파일 생성이 금지됩니다 ... –

+0

... 나는 응용 프로그램과 동일한 디렉토리에 파일을 복사해야하는 라이센스 체계가 있기 때문에 물어 봅니다. 가능하다면 Glassfish 인터페이스를 사용하여 파일을 복사하고 싶습니다. 그렇지만 그렇게 할 수 없다면 응용 프로그램에 웹 페이지를 추가 할 것입니다. 어느 쪽이든, 나는 글래스 피쉬가 내 방식에 있지 않다는 것을 알아야합니다. 그게 말이 되니? –

+0

나는 당신의 의견을 토대로 조금 대답을 늘렸다. – danivovich