2012-07-22 11 views
13

हर बार जब मैं Heroku करने के लिए अपने रेल 3.2 परियोजना को तैनात, rake assets:precompile चलाया जाता है:क्या हेरोोकू पर एक सिंगल गिट पुश के लिए संपत्ति प्रीकंपाइल चरण को छोड़ना संभव है?

$ git push heroku master 
... 
----> Preparing app for Rails asset pipeline 
     Running: rake assets:precompile 
     Asset precompilation completed (189.17s) 
... 

कभी कभी मैं एक धक्का है कि मैं जानता हूँ कि इस तरह के एक नियंत्रक के लिए एक त्वरित हॉटफिक्स रूप में किसी भी संपत्ति नहीं बदलता है, बनाना चाहते हैं। क्या संपत्ति को छोड़ना संभव है: हरोकू को एक सिंगल गिट पुश के लिए प्रीकंपाइल चरण?

धन्यवाद।

उत्तर

14

ज़रूर! आपको your_app/pubilc/assets निर्देशिका में manifest.yml बनाने की आवश्यकता होगी।

फ़ाइल खाली हो सकती है। लेकिन आदर्श रूप से, आप स्थानीय रूप से सबकुछ पूर्ववत करते हैं, इसलिए हेरोोकू पर तैनाती बहुत तेज होगी।

सुनिश्चित करें कि आपने manifest.yml फ़ाइल भी जब आप Heroku को दबा रहे हैं तो भी किया है। git add -f your_app/pubilc/assets/manifest.yml और git push heroku master जैसे कुछ पर्याप्त होना चाहिए।

+0

यदि मैं अभी भी संपत्तियों को हरोकू पर संकलित करना चाहता हूं, तो इस समाधान का अर्थ है कि मुझे manifest.yml फ़ाइल में एक चेकइन बनाना होगा, उसके टूलू को दबाएं, फिर उस फ़ाइल को निकालने के लिए पूरी तरह से सुनिश्चित रहें। सही? क्या कोई ऐसा तरीका है जिसमें यह अतिरिक्त कदम शामिल नहीं होगा? – Eli

+2

यदि आप हेरोकू में तैनात होते समय ध्यान से देखते हैं, तो वहां एक पंक्ति होगी जो 'manifest manifest.yml की तरह कुछ कहती है। स्थानीय रूप से संकलित संपत्तियों का मानना ​​है। तो अनिवार्य रूप से मैनिफेस्ट फ़ाइल एक संकेत है कि हेरोोक को संपत्ति संकलन न करने के लिए कहें। मुझे लगता है कि आप अपने कंसोल पर हमेशा 'मैनोकू रन रेक संपत्तियों: प्रीकंपाइल' को मैन्युअल रूप से चला सकते हैं। –

+5

आपके कंसोल से 'होकोकू रन रेक संपत्तियां: प्रीकंपाइल' चलाना ** आपके चल रहे हेरोकू डिनो के लिए ** प्रीकंपाइल संपत्ति नहीं होगी। हरोकू पर चल रही प्रत्येक प्रक्रिया अलग-अलग आभासी वातावरण में चलती है। –

4

यह मेरे लिए काम किया। manifest.yml ने मेरे रेल 4 परियोजना पर मेरे लिए कुछ भी नहीं किया।

https://gist.github.com/Geesu/d0b58488cfae51f361c6

+0

धन्यवाद! यह मेरे लिए रेल 4 –

+0

पर भी काम करता है, लेकिन क्या इससे पहले कभी प्रीकंपाइल करना असंभव नहीं होता है? –

0

रेल 4 में,, rake assets: precompile साथ बस precompile स्थानीय रूप से फ़ाइल manifest-<md5 hash>.json बजाय manifest.yml

0

बनाने जिसके परिणामस्वरूप संपत्ति है कि public/assets में हैं में जाँच, और Heroku करने के लिए धक्का।

यह स्वचालित रूप से आपके public/assets निर्देशिका में प्रकट-.yml या json फ़ाइल बना देगा; तो उसकेोकू इसका पता लगाएंगे और Detected manifest file, assuming assets were compiled locally की रिपोर्ट करेंगे।

नोट 1: कुछ लोगों के पास development.rb में एक पंक्ति है जो इन्हें public/dev-assets instead पर ले जाती है; सुनिश्चित करें कि आपके .gitignore फ़ाइल public/assets निर्देशिका को छोड़कर नहीं हुआ है: यदि ऐसा है तो, आप नाम बदलना dev-assets सिर्फ assets)

नोट 2 की जरूरत है।

संबंधित मुद्दे