TL : DR : Running assets : 사전 컴파일은 프로덕션 자산 호스트를 비 프로덕션 환경의 생성 된 자산으로 삽입합니다.레일 배치 - 애셋 실행 : 배포 된 환경마다 한 번 또는 빌드 당 한 번만 프리 컴파일?
배경 : 우리는 우리의 레일 응용 프로그램을 배포하는 현재의 방법은 CI 서버가 타르볼로 통합 ENV 각 성공적으로 빌드를 배포한다는 것입니다. 그리고이 타볼 (tarball)은 찌르 게되었던 env에 줄곧 나아가게하게된다. 우리는 서로 다른 환경에 홍보 할 수있는 응용 프로그램을 타르도 전에이 명령이 tarring 전에 실행되면하지만, 우리가
rake assets:precompile
을 실행, 우리는 타르의 일부로 컴파일 된 자산 결국 이것은 개인 배포 시간을 절약 환경 (프리 D 파일은 sloow 임).
문제 : 우리가 생산 환경에서 asset_host 속성을 도입 할 때까지 이 배열은 괜찮 았는데. 애셋 : 사전 컴파일은 기본적으로 프로덕션 환경에서 실행되며 sass 파일은 image-url 태그를 사용하여 이미지 애셋을 참조하므로 애셋 호스트가 사전 컴파일에 의해 선택되기 시작하고 생성 된 애셋이 프로덕션에 대한 직접 URL 참조를 시작하기 시작했습니다. asset_host의 서버. 분명히 이것은 받아 들일 수 없다. 인터넷에 검색
내가 데 문제의 아주 가까이 설명입니다이 Github Issue되었다. 보석 유지자의 반응을 보면, 자산을 운영하는 것처럼 보입니다. 한 번 PER 환경 대신 모든 환경에 대해 한 번 프리 컴파일하면 좋지 않은 생각처럼 보입니다. 그러나 느린 프리 컴파일 시간을 감안할 때, 이것이 우리를위한 유일한 방법 인 것처럼 보입니다.
그럼 다른 레일 배포는 어떻게이 문제를 해결합니까?