2011-08-07 13 views
5

पर "स्टेजिंग" मैं इस व्यवहार में आया और सोच रहा था कि किसी और ने इसे देखा है या नहीं। मेरे पास एक कामकाज है इसलिए यह एक शो-स्टॉपर नहीं है।हेरोकू RACK_ENV थिन पर "विकास" कहता है, लेकिन यूनिकॉर्न

मैंने एक सीडर स्टैक के साथ हेरोकू पर एक नया ऐप बनाया।

heroku config:add RACK_ENV=staging --app appname

मैं नेत्रहीन सत्यापित है कि पर्यावरण वर स्थापित किया गया था, उसके बाद निम्न मार्ग मेरी सरल सिनात्रा उदाहरण में डाल:

get '/?' do 
    ENV['RACK_ENV'] 
end 

जब मैं जब एक से अधिक वातावरण का प्रदर्शन मैं निम्नलिखित config वर जोड़ा अपने लैपटॉप पर स्थानीय रूप से परीक्षण किया गया, मुझे अपेक्षित development प्राप्त हुआ।

जब मैंने हेरोकू को धक्का दिया और herokuapp.com पर उसी मार्ग पर हिट किया तो मुझे staging के बजाय development मिला।

मैंने वेब सर्वर को थिन से यूनिकॉर्न से प्रसंस्करण के माध्यम से स्विच किया और परिवर्तनों को हेरोोक में वापस धकेल दिया।

अब जब मैं मार्ग पर जाता हूं, तो मुझे अपेक्षित staging मिलता है।

क्या किसी और ने इसे देखा है? एक और प्रोजेक्ट पर मेरा कामकाज जहां मैं थिन चला रहा था, नए रिलिक ऐप नाम से पर्यावरण को कुंजी करना था। (मैंने यूनिकॉर्न पर स्विच नहीं किया क्योंकि मुझे काम करने के लिए नए रिलिक की जरूरत है और वर्तमान में सीडर और न्यू रिलिक और यूनिकॉर्न एक साथ काम करते हैं)।

उत्तर

14

मुझे हेनोकू के उदाहरण sinatra ऐप का उपयोग करके सीनेटर स्टैक पर सीनात्रा के साथ एक ही समस्या थी। RACK_ENV विकास के अलावा कुछ भी सेट करने से इंकार कर देता है। (Heroku लगता है कि यह RACK_ENV सेट है, क्योंकि 'heroku config' चलाने से आपके द्वारा सेट किए गए वातावरण को प्रदर्शित किया जाता है, हालांकि ऐप में यह हमेशा विकास होता है)।

बांस स्टैक पर एक ही ऐप में कोई समस्या नहीं थी।

संपादित करें: मैं इस बारे में Heroku के लिए एक टिकट प्रस्तुत की है और एक बहुत त्वरित प्रतिक्रिया जो मेरे लिए बग तय हो गया है:

उद्धरण: ऐसा लगता है कि वहाँ हमारे डिफ़ॉल्ट Procfile में एक छोटे से बग आप उपयोग कर रहे हैं जैसे पतली। क्या आप इसमें निम्नलिखित के साथ एक Procfile बना सकते हैं?

web: bundle exec thin start -R config.ru -e $RACK_ENV -p $PORT

+0

यह मेरे लिए तय है - चीयर्स! –

+0

मैन - वास्तव में मुझे यह खुशी मिली। यह मेरे नए अवशेष एकीकरण – Jonathan

+0

तय है! लेकिन अविश्वसनीय है कि यह अब तक तय नहीं किया गया है। – Felixyz

4

तुम भी Heroku मणि का उपयोग कर के मंचन के लिए दोनों अपने RACK_ENV और RAILS_ENV सेट कर सकते हैं ... तो यह अपेक्षा के अनुरूप काम करता है। मुझे लगता है कि यह हेरोोकू के साथ एक समस्या हो सकती है।

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