2011-11-25 15 views
9

पर धक्का देने से पहले संपत्तियों को स्वचालित रूप से प्रीकंपाइल करें क्या हेरोोकू में जाने से पहले रेलवे ऐप में स्वचालित रूप से मेरी संपत्ति को प्रीकंपाइल करना संभव है? मैं हमेशा ऐसा करना भूल जाता हूं, इसलिए यह अच्छा होगा अगर मैंने git push heroku master टाइप किया, तो यह पहले rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." चला सकता था, या उस प्रभाव के लिए कुछ।हेरोकू

क्या किसी ने ऐसा समाधान प्राप्त किया है? संभवतः हुक के बिना? हालांकि मुझे संदेह है कि यह एकमात्र तरीका है।

उत्तर

14

मुझे अंत में यह पता चला। मैं वास्तव में सीडर स्टैक पर था। समस्या यह है कि मैं Git में मेरी public निर्देशिका की जाँच की थी, और जब मैं Heroku को धक्का दे दिया, यह महसूस किया कि public ही अस्तित्व में, और इस प्रकार ग्रहण मैं precompiled। रनिंग git rm -r public और मेरे .gitignore करने के लिए public/** जोड़ने, तो धक्का, समस्या का समाधान होता।

3

तुम हमेशा उर्फ ​​heroku या अपने बैश प्रोफ़ाइल में rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku master को कुछ इसी तरह यानी

#in ~/.bash_profile 
alias precompile_push='rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku master' 
+1

यदि यह आपके तैनाती प्रक्रिया का एक हिस्सा है, मैं बनाने की सिफारिश करेंगे कि आपके codebase में एक स्क्रिप्ट। –

8

यह आप की तरह लगता है नहीं Heroku's Cedar Stack पर हो सकता है हो सकता है? यदि आप संपत्ति पाइपलाइन (Rails -v> = 3.1) का उपयोग कर रहे हैं, तो देवदार संपत्तियों को संकलित करने के लिए three options प्रदान करता है।

docs से

:

आप संपत्ति स्थानीय रूप से संकलित नहीं किया है, हम स्लग संकलन के दौरान assets:precompile कार्य चलाने के लिए प्रयास करेंगे।

1

देवदार ढेर पर, यह स्लग संकलन के दौरान यह कर देगा। मैं इसकी सिफारिश करता हूं।

1

मैं एक मणि है कि डेमॉन के रूप में चलाने के लिए और स्वचालित रूप से एक Git रेपो से परिवर्तन खींच बना लिया है, precompiles संपत्ति, प्रतिबद्ध और वापस धक्का।

https://github.com/nectify/rails-precompile2git/