2010-10-19 8 views
10

मैं एक ऐप बना रहा हूं जो उपयोगकर्ताओं को अपने डोमेन का उपयोग करने की अनुमति देता है। मैं अपने चुने हुए डोमेन को स्वचालित रूप से हेरोकू के साथ पंजीकृत करने के लिए अपने रेल ऐप में किस विधि का उपयोग करता हूं? अगर वे इसे बदलते हैं तो मुझे इसे अपनाने की भी आवश्यकता होगी।रूबी कोड का उपयोग करके हेरोोक ऐप में डोमेन कैसे जोड़ूं?

उत्तर

2

जिस तरह से आप आमतौर पर add domains in HerokuHeroku gem के माध्यम से हेरोकू एपीआई का उपयोग कर रहे हैं। नामक आदेश नहीं है heroku domains:add आप आह्वान कर सकते हैं

$ heroku domains:add example.com 

जैसा कि मैंने पहले कहा, ग्राहक Heroku API कॉल। आप लाइब्रेरी से Heroku डोमेन API जानकारी निकाल सकते हैं और एक कस्टम स्क्रिप्ट बना सकते हैं जो आपके ऐप से डोमेन जोड़ने और निकालने के लिए Heroku API को कॉल करता है।

यहां client source code है।

नोट। चूंकि आप "रिवर्स इंजीनियरिंग" और एपीआई हैं जो प्रलेखित नहीं प्रतीत होते हैं, आपको हेरोोकू को ऐसा करने की अनुमति लेनी चाहिए, बस यह सुनिश्चित करने के लिए कि आप अपने TOS के खिलाफ कुछ नहीं बना रहे हैं।

+0

धन्यवाद सिमोन। तो वैध रूप से ऐसा करने के लिए कोई दस्तावेज तरीका नहीं है? –

+0

ईमानदारी से, मुझे विश्वास नहीं है कि इस तरह से "अवैध" है क्योंकि आप कुछ भी संकलित नहीं कर रहे हैं। बीटीडब्लू, आपको यह सुनिश्चित करने के लिए हेरोोक से संपर्क करना चाहिए कि यह किया जा सकता है। –

+0

चिंता करने की कोई आवश्यकता नहीं है, हेरोोकू एपीआई का उपयोग करने का समर्थन करता है, उदाहरण के लिए, वे इसका उपयोग करके [अपने दस्तावेज़ों में अपने डायनोस की संख्या को बदलने के लिए] का उल्लेख करते हैं (http://docs.heroku.com/faq-product-features#how-does -dyno-amp कार्यकर्ता-स्केलिंग काम)। हालांकि, एपीआई भविष्य में बदलाव के अधीन हो सकता है। – wuputah

0

मणि Heroku से है और अनुशंसित दृष्टिकोण है। मैंने उसी प्रश्न के साथ हेरोोक से संपर्क किया और यह प्रतिक्रिया थी:

आपको डोमेन के बारे में हेरोोकू और इसे रूट करने के लिए कहने की आवश्यकता है। सीएनएन ने DNS को बताया कि हेरोोकू से अनुरोध कैसे प्राप्त करें। अब आपको हेरोोकू को यह ऐप भेजना होगा। आप अपने ऐप में डोमेन जोड़कर ऐसा करते हैं। आपके मामले में आपको अपने ऐप में "heroku डोमेन: my.domain.com जोड़ें" चलाने की आवश्यकता होगी। आप हमारे एपीआई पर अपने आवेदन के अंदर से प्रोग्रामेटिक रूप से भी ऐसा कर सकते हैं। एपीआई कनेक्ट करने और उपयोग करने के उदाहरण के लिए हेरोोकू मणि (http://github.com/heroku/heroku) देखें।

16

मैंने उसी चीज़ के लिए हेरोकू से संपर्क किया है, और उन्होंने मुझे their api पर इंगित किया है, और कहा कि इसे इस तरह उपयोग करना ठीक है।

मुझे डर है कि वहां नहीं है। Our API केवल ग्राहक के कोड द्वारा "दस्तावेज" है।

require 'heroku' 

heroku = Heroku::Client.new('heroku_username', 'heroku_password') 
heroku.add_domain('heroku_app_name', 'example.com') 
heroku.remove_domain('heroku_app_name','example.com') 

अधिक के लिए the api देखें:

यहाँ कैसे-करने के लिए सरल है http://groups.google.com/group/heroku/

Oren:

आप समुदाय के सदस्यों से सलाह के रूप में अच्छी तरह से प्राप्त करने के लिए हमारे गूगल समूह से सहायक हो सकता ।

बेशक मैं आपके कोड में एक सादे टेक्स्ट पासवर्ड डालने के खिलाफ अनुशंसा करता हूं। कोड से बाहर अपने पासवर्ड प्राप्त करने के लिए आप एक अच्छी चीज कर सकते हैं Heroku पर्यावरण चर का उपयोग करें।

heroku = Heroku::Client.new(ENV['HEROKU_USER'], ENV['HEROKU_PASSWORD']) 

और फिर आप

$> heroku config:add HEROKU_USER='heroku_username' 
$> heroku config:add HEROKU_PASSWORD='heroku_password' 
कमांड लाइन से

साथ अपने ऐप्लिकेशन पर वातावरण चर सेट कर सकते हैं।

7

हेरोकू मणि अब बहिष्कृत कर दिया गया है। आपको इसके बजाय heroku.rb मणि का उपयोग करना चाहिए। आदेश थोड़ा बदल गए हैं, लेकिन यह अनिवार्य रूप से वही है।

require 'heroku-api' 

heroku = Heroku::API.new(:api_key => API_KEY)       # use API Key 
heroku = Heroku::API.new(:username => USERNAME, :password => PASSWORD) # use username and password 
heroku = Heroku::API.new(:headers => {'User-Agent' => 'custom'})  # use custom header 


heroku.delete_domain('app', 'example.com') # remove the 'example.com' domain from the 'app' app 
heroku.get_domains('app')     # list configured domains for the 'app' app 
heroku.post_domain('app', 'example.com') # add 'example.com' domain to the 'app' app 
संबंधित मुद्दे

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