2015-01-05 3 views
0

나는 스스로 프로젝트를 개발하는 데 익숙해졌으며 이제는 프로젝트에서 도움을 줄 다른 사람들이있다. Ruby on Rails로 개발되었으며 Heroku에 스테이징 서버가 있습니다. 미리 배포 워크 플로는 로컬 컴퓨터의 자산을 사전 컴파일 한 다음 코드를 heroku로 푸시하는 것입니다. 내가 혼자 힘을 발휘하면 잘 작동합니다.Heroku에서 자산을 강제로 컴파일 할 수 있습니까?

이제 프런트 엔드 엔지니어와 함께 작업하고 있습니다. 문제는 다른 위치에서 일하고 있기 때문에 컴퓨터를 내 것과 동일하게 설정하기가 어렵다는 것입니다. 결과적으로 그는 heroku로 이동하기 전에 코드를 사전 컴파일 할 수 없습니다.

물론 그를 위해 할 수는 있지만 코드를 준비 서버에 제출하고 Heroku가 미리 컴파일하도록 할 수 있다면 더 좋을 것입니다. 나는 Heroku가 manifest 파일을 미리 컴파일 할 필요가 있는지를 결정하는데 사용할 수 있는지 탐지한다. Heroku가 자산을 다시 컴파일하도록하는 방법이 있습니까?

나는 시도했다 : heroku run rake assets:clean 다음 heroku run rake assets:precompile는하지만 운이 ...

+0

Heroku는 슬러그를 만들 때 자산을 사전 컴파일 할 수 있어야합니다. https://devcenter.heroku.com/articles/rails-asset-pipeline을 통해 읽었습니까? –

+0

감사합니다. Fred. 이전에 들어 보았지만 문서에서 Heroku가 강제로 사전 처리 컴파일을 실행하는 방법을 보여주지 않았습니다. 내가 어떻게이 일을 할 수 있는지 아십니까? 감사! – Quin

답변

0

에게 Heroku의 서버가 read-only file system를 사용하지 않습니다. 이것은 다른 것들 중에서 더 많은 dynos를 쉽게 돌릴 수있게하는 방법입니다.

레일즈 자산을 컴파일한다는 것은 소스 파일을 가져 와서 새로운 파일을 컴파일하는 것, 즉 파일 시스템에 파일을 쓰는 것을 의미합니다. 읽기 전용 파일 시스템에서는 이러한 일이 발생하지 않으므로 먼저 프리 컴파일해야합니다. Heroku에서 애셋을 컴파일하는 경우에도/tmp 디렉토리에 편지를 쓰면 하루가 끝날 때 Heroku reboots dynos 일 때 새 파일은 원래대로 복구되지 않았기 때문에 사라집니다. 당신은 그들을 지역적으로 미리 컴파일하고, 저지른 다음, Heroku에게 밀었습니다.

내가 생각할 수있는 모든 해결책은 프론트 엔드 설치 프로그램을 돕는 것보다 더 복잡 할 것입니다. 푸시하기 전에 미리 컴파일해야하는 젬을 레일과 번들로 설치하십시오.

관련 문제