2012-09-15 17 views
6

हमारे पास एक बहुत बड़ा ऐप है जो उसकेोकू पर जा रहा है ... यह ब्राउज़र के आधार पर ब्राउज़र के रूप में उपयोग कर रहा है, और यह इसके शीर्ष पर बनाया गया है। Gemfile इतना बड़ा नहीं है (हमारे पास हमारे औसत ऐप की तुलना में अधिक रत्न नहीं हैं) लेकिन किसी कारण से, तैनाती में 15 मिनट लगते हैं। संकलन और (assetsync के माध्यम से) के बारे में 5 मिनट के सभी परिसंपत्तियों की वजह से लेता है S3 के लिए संपत्ति धक्का, लेकिन शेष 10 मिनट इस दौरान खर्च किया जाता है:हेरोकू तैनाती बहुत लंबा लेना

----> Heroku receiving push 
-----> Removing .DS_Store files 
-----> Ruby/Rails app detected 
-----> Using Ruby version: ruby-1.9.3 
-----> Installing dependencies using Bundler version 1.2.0 
     Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment 

कोई भी किसी भी सुराग क्यों इस हिस्से इतने लंबे समय लेता है? gemfile ताला रेपो में है, और Heroku को धक्का दे दिया, और यहाँ हमारे gemfile का एक सार है: https://gist.github.com/aa44bbb06eed97736c20

संपादित करें: हम रेल 3.2.7

+0

क्या आपने अपने रत्नों को बेचने की कोशिश की है? डाउनलोड की गई '.gem' फ़ाइलों को कैश करने के लिए' बंडल पैकेज' का उपयोग करने का प्रयास करें, और फिर 'गिट एड' चलाएं। & git प्रतिबद्ध -m "रत्न में विक्रेता" को अपने भंडार में जोड़ने के लिए। इसे जेम इंस्टॉलेशन तत्काल बनाना चाहिए (मानना ​​है कि यह बाधा है) – neersighted

+1

यह संपत्ति संकलन चरण भी हो सकता है, जिस स्थिति में आप दौड़ना चाहते हैं 'रेक संपत्तियां: प्रीकंपाइल और गिट प्रतिबद्ध-ए-एम "प्रत्येक कॉम्पैक्ट से पहले" पुनर्मूल्यांकन संपत्ति "। – neersighted

+0

रत्नों को वेंडिंग करने में मदद मिली है ... और स्थानीय रूप से प्रीकंपलिंग स्थानीय रूप से समय बचाने में नहीं था - इसमें लगभग उतना ही समय लगेगा। – courtsimas

उत्तर

2

पर हों तो बंडलर एक मणि एक Git रेपो है कि का उपयोग करता है यह मणि को शामिल करने के लिए पूरे गिट रेपो को डाउनलोड करेगा, न केवल मास्टर शाखा या जो भी शाखा मुख्य शाखा है।

हमारे पास Sferik द्वारा rails_admin मणि के साथ एक ही समस्या थी।

यह पराक्रम मदद अगर आप ऐसा तरह एक विशिष्ट शाखा निर्दिष्ट करें:

gem "browsercms", "3.5.3", git: 'git://github.com/josiahivey/browsercms.git', :branch => 'master' 

एक तरीका यह बताने के लिए संकलित स्लग आकार को देखने के लिए पहले और बाद में आप कोई परिवर्तन करते है। हमारे मामले में, rails_admin हमारे स्लग आकार के लगभग 30 एमबी के लिए ज़िम्मेदार था। हेरोकू में 100 एमबी स्लग आकार सीमा भी है, केवल एफवाईआई।

आप भी इस तरह बंडल पैक आदेश चलाने की कोशिश कर सकते हैं:

bundle pack --all 

यह आपके विक्रेता/कैश निर्देशिका में (--all स्विच की वजह से भी माना जाता है कि Git लोगों,) अपने सभी जवाहरात डाल देंगे ।

बंडलर परियोजना के लिए इस GitHub isssue में संकेत के रूप में (अंत है, जहां एक Heroku पुरुष प्रतिक्रिया करता है पर देखने के):

https://github.com/carlhuda/bundler/issues/67

+0

निर्दिष्ट शाखा ने दो मेग्स को सर्वश्रेष्ठ रूप से बचाया। वर्तमान में हम 55 मेगापिक्सल स्लग आकार में हैं (उनमें से बहुत से ब्राउज़र सेमी हैं)। – courtsimas

0

दो बातें इस प्रक्रिया को तेज। बंडलर 1.2.1 मदद करने लग रहा था, और turbo sprockets एक अच्छा जोड़ा कुछ मिनट बचाया। यह अब सहनशील है।

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