आपके प्रश्न की मेरी समझ यह है कि आपके पास एक गिट भंडार है, जिसमें दो पूरी तरह अलग कार्यक्रम हैं: एक एपीआई सर्वर, और एक वेब सर्वर।
- अपनी परियोजना फ़ोल्डर में जाएँ:
इसे ध्यान में धारणा के साथ, यहाँ आप कदम-दर-कदम है, के लिए करना चाहेंगे क्या है।
- अपनी परियोजना की जड़ पर
Procfile
परिभाषित करें। यह हेरोोकू को आपके वेब सर्वर और आपके एपीआई सर्वर को चलाने का तरीका बताएगा। - एक web
कहा जाता है और एक api
कहा जाता रहा Heroku dynos के दो प्रकार को परिभाषित कर रहा हूँ: web: node web/index.js
api: node api/index.js
ऊपर मेरे उदाहरण में:
यहां अपने Procfile
देखने के लिए (एक उदाहरण) चाहते हो सकता है है । प्रत्येक के लिए, आपको हेरोोकू को उचित सर्वर शुरू करने के लिए चलाने के लिए क्या आदेश देना होगा। इस उदाहरण में, मैं अपनी वेबसाइट शुरू करने के लिए node web/index.js
चलाऊंगा, और मेरी API सेवा शुरू करने के लिए node api/index.js
चलाऊंगा।
दो नए हेरोोक एप्लिकेशन बनाएं। आप heroku create <desired-app-name> --remote <desired-app-name>
कई बार चलकर ऐसा कर सकते हैं। नोट: --remote
ध्वज हेरोोकू को आपके प्रत्येक एप्लिकेशन के लिए एक ही रेपो में गिट रिमोट बनाने के लिए बताएगा।
अगला, आपको एक हीरोोक ऐप पर अपना वास्तविक वेब एप्लिकेशन चलाने और हेरोोकू ऐप पर अपनी एपीआई सेवा चलाने के लिए हेरोोकू को बताना होगा। आप Heroku CLI का उपयोग करके ऐसा कर सकते हैं:
$ heroku ps:scale web=1 --remote webserver-app-name
$ heroku ps:scale api=1 --remote apiserver-app-name
इन आदेशों करेंगे:
- भागो अपने वेबसर्वर Heroku अनुप्रयोग के लिए एक वेब dyno।
- अपने एपिसर्वर हेरोोकू ऐप के लिए एक एकल एपीआई डायनो चलाएं।
आप ऊपर देख सकते हैं, ps:scale
आदेश का उपयोग कर आप नियंत्रित कर सकते हैं क्या आदेशों के प्रकार Heroku अपने Procfile
से चलेंगे, और कैसे प्रत्येक के कई उदाहरणों आप चाहें तो है।
उम्मीद है कि इससे मदद मिलती है!
धन्यवाद rdegges, मैं आज इसे आजमा दूंगा। प्रश्न हालांकि - क्या मैं अपनी मास्टर शाखा को प्रत्येक अलग-अलग heroku ऐप पर धक्का देने के लिए 'गिट पुश हेरोकू-एपी मास्टर' और 'गिट पुश हेरोकू-वेब मास्टर' करूँगा? –
आह, जब आप अपनी मास्ट शाखा को धक्का देना चाहते हैं तो आप करेंगे: 'गिट पुश हेरोकू-एपीआई मास्टर; गिट पुश हेरोकू-वेब मास्टर; 'दोनों परियोजनाओं को इसे तैनात करने के लिए =) सामान्य' गिट पुश हेरोकू मास्टर 'के बजाय आप ऐसा करेंगे, क्योंकि' हेरोकू 'रिमोट के बजाय अब आपके पास दो रिमोट हैं:' Heroku-web 'और 'Heroku-api'। उम्मीद है कि समझ में आता है! – rdegges
यह बहुत अच्छा है, लेकिन आपको किसी भी तरह निर्भरता स्थापित करने की आवश्यकता है। मैंने उप-फ़ोल्डर्स से अपने ऐप्स चलाने के लिए स्क्रिप्ट में 'npm install' डालकर ऐसा किया था। सही नहीं है, लेकिन मुझे नहीं पता कि इसे धक्का पर कैसे किया जाए। –