Orbit

Orbit में समर्थित फ्रेमवर्क और रनटाइम

Orbit builds any project that installs with npm, yarn or pnpm and produces a folder of files or a Node.js server, and it detects the framework and package manager for you so most projects deploy…

Orbit ऐसे किसी भी प्रोजेक्ट को बनाता है जो npm, yarn या pnpm के साथ इंस्टॉल होता है और फ़ाइलों का एक फ़ोल्डर या Node.js सर्वर बनाता है, और यह आपके लिए फ्रेमवर्क और पैकेज मैनेजर का पता लगाता है ताकि अधिकांश प्रोजेक्ट बिना किसी बिल्ड कॉन्फ़िगरेशन के तैनात हो जाएं। यह गाइड कवर करती है कि क्या डिटेक्ट होता है, प्रत्येक सामान्य फ्रेमवर्क को किस सेटिंग्स की आवश्यकता है, जब आपको सर्वर मोड चालू करना पड़ता है, और Node.js संस्करण कैसे चुनें।

Orbit स्वचालित रूप से क्या डिटेक्ट करता है

जब बिल्ड चलता है, Orbit यह रिकॉर्ड करता है कि उसे क्या मिला और यह आपको वापस दिखाता है:

  • फ्रेमवर्क, डिप्लॉयमेंट विस्तार पृष्ठ पर और प्रोजेक्ट अवलोकन पर डिप्लॉयमेंट कार्ड पर बैज के रूप में।
  • पैकेज मैनेजर, आपकी लॉकफ़ाइल से चुना गया: package-lock.json npm देता है, yarn.lock yarn देता है, pnpm-lock.yaml pnpm देता है।

Settings में बिल्ड सेटिंग्स सभी वैकल्पिक हैं। एक फ़ील्ड खाली छोड़ें और इसका प्लेसहोल्डर आपको बताता है कि इसके बजाय क्या उपयोग किया जाएगा: Install command npm ci (auto-detected) दिखाता है, Build command npm run build (auto-detected) दिखाता है, और Output directory dist (auto-detected) दिखाता है।

Orbit प्रोजेक्ट सेटिंग्स में बिल्ड सेटिंग्स

बिल्कुल एक लॉकफ़ाइल कमिट करें। यदि package-lock.json और yarn.lock दोनों रिपॉजिटरी में हैं, तो Orbit जो पैकेज मैनेजर चुनता है वह वही नहीं हो सकता जो आप स्थानीय रूप से उपयोग करते हैं, और आपको एक इंस्टॉल मिलता है जो किसी दृश्य कारण के बिना आपकी मशीन से अलग व्यवहार करता है। जो आप उपयोग नहीं कर रहे हैं उसे हटाएं।

फ्रेमवर्क के अनुसार सेटिंग्स

ये वह मान हैं जिनकी प्रत्येक फ्रेमवर्क को आवश्यकता है। जहां Orbit फ्रेमवर्क के लिए स्टार्टर टेम्पलेट शिप करता है, टेम्पलेट बिल्कुल ये सेटिंग्स उपयोग करते हैं।

फ्रेमवर्कबिल्ड कमांडआउटपुट डायरेक्टरीसर्वर मोड
Next.js, स्थिर निर्यातnpm run buildoutबंद
Next.js, SSR या ISRnpm run build.nextचालू
Astro, स्थिरastro builddistबंद
Astro, सर्वर या हाइब्रिडastro builddistचालू
Vite (React, Vue, Svelte)npm run builddistबंद
SvelteKitnpm run buildbuildएडॉप्टर पर निर्भर करता है
Nuxt 3npm run build.outputचालू
Remixnpm run buildbuildचालू
Express या एक सादा Node APInpm run builddistचालू
Create React Appnpm run buildbuildबंद
सादा HTML या स्थिर जनरेटरखाली छोड़ें, या आपके जनरेटर की कमांड. या वह फ़ोल्डर जो वह लिखता हैबंद

Vite हमेशा dist में लिखता है जब तक कि आपने build.outDir को vite.config.ts में सेट न किया हो। Astro की आउटपुट फ़ोल्डर हर मोड में dist है; जो मोड के बीच बदलता है वह यह है कि आपको सर्वर मोड की आवश्यकता है या नहीं, यह नहीं कि फ़ाइलें कहां जाती हैं।

सर्वर मोड

सर्वर मोड Settings में एक टॉगल है, Runtime के अंतर्गत। जब यह चालू होता है, Orbit प्रत्येक डिप्लॉय के बाद npm start चलाते हुए बिल्ड मशीन को जीवित रखता है, स्थिर फ़ाइलों के फ़ोल्डर को सर्व करने के बजाय।

Next.js with SSR, Remix, Nuxt, एक Express API, और कुछ भी जो स्थिर निर्यात नहीं है, के लिए इसे चालू करें। एक वास्तविक स्थिर बिल्ड के लिए इसे बंद छोड़ें।

यह अगली डिप्लॉय से लागू होता है, वर्तमान में लाइव डिप्लॉयमेंट के लिए नहीं।

लापता सर्वर मोड का क्लासिक लक्षण एक साइट है जहां होम पेज पूरी तरह लोड होता है और हर गतिशील मार्ग 404 लौटाता है। बिल्ड सफल हुई, फ़ाइलें प्रकाशित की गईं, और बस कोई सर्वर नहीं है जो मार्ग का जवाब देने के लिए चल रहा है। यदि यह वही है जो आप देख रहे हैं, सर्वर मोड चालू करें और कुछ और बदलने से पहले फिर से तैनात करें।

Node.js संस्करण

Settings में Build settings के अंतर्गत Node.js version सेट करें। केवल मेजर संस्करण संख्या दर्ज करें: 18, 20 या 22। प्लेटफॉर्म डिफ़ॉल्ट का उपयोग करने के लिए इसे खाली छोड़ दें।

यह संस्करण बिल्ड और, जब सर्वर मोड चालू हो, रनटाइम दोनों पर लागू होता है।

डिफ़ॉल्ट पर भरोसा करने के बजाय संस्करण को स्पष्ट रूप से पिन करें। एक निर्भरता जिसके लिए नए Node की आवश्यकता होती है डिफ़ॉल्ट से स्पष्ट रूप से इंस्टॉल विफल करता है, और पिन करना "कल यह काम करता था" बिल्ड विफलताओं की एक पूरी कक्षा को हटाता है।

मोनोरेपोस

Root directory को उस सबडायरेक्टरी में सेट करें जिसमें ऐप है, उदाहरण के लिए apps/web। Orbit आपकी इंस्टॉल और बिल्ड कमांड चलाने से पहले उस डायरेक्टरी में बदलता है।

यह कुछ ऐसा भी करता है जो आप चाहते हैं लेकिन हो सकता है कि प्रत्याशा न हो: केवल उन फ़ाइलों को बदलने वाली पुशें स्वचालित रूप से छोड़ दी जाती हैं। चार Orbit प्रोजेक्ट वाला मोनोरेपो इसलिए केवल उन ऐप्स को फिर से बनाता है जो एक कमिट वास्तव में छुआ है।

प्रत्येक परिवेश रूट डायरेक्टरी को अलग से ओवरराइड कर सकता है, Settings में Staging: build overrides के अंतर्गत, जो तब उपयोगी है जब स्टेजिंग एक अलग वर्कस्पेस बनाता है।

कस्टम बिल्ड सेटिंग्स

Settings में कुछ भी ओवरराइड करें, Build settings के अंतर्गत:

फील्डउदाहरणनोट्स
इंस्टॉल कमांडnpm ciया yarn install --frozen-lockfile, pnpm install --frozen-lockfile
बिल्ड कमांडnpm run build:prodबिल्कुल जैसा लिखा है चलाएं
आउटपुट डायरेक्टरीdist/clientबिल्ड के बाद प्रकाशित फ़ोल्डर
रूट डायरेक्टरीapps/frontendमोनोरेपो सबडायरेक्टरी
Node.js संस्करण20केवल मेजर संस्करण

खाली मतलब ऑटो-डिटेक्ट। Build settings कार्ड पर Save क्लिक करें लागू करने के लिए।

स्टेजिंग इनमें से किसी को स्वतंत्र रूप से ओवरराइड कर सकता है, Staging: build overrides सेक्शन में। वहां एक खाली फील्ड प्रोजेक्ट-स्तरीय मान को विरासत में देता है, इसलिए आप केवल स्टेजिंग के लिए बिल्ड कमांड बदल सकते हैं और बाकी सब कुछ को अकेला छोड़ सकते हैं।

बिल्ड कैश

Orbit Liftoff और Apex प्लानों पर बिल्ड के बीच node_modules को कैश करता है। जब कैश का उपयोग किया जाता है, तो डिप्लॉयमेंट Cache hit बैज दिखाता है और इंस्टॉल चरण बहुत कम होता है। बिना इसके बिल्ड Cold build दिखाता है।

संपूर्ण पुनः स्थापना को बाध्य करने के लिए, Settings खोलें, फिर Clear build cache, और पुष्टि करें। प्रत्येक वातावरण के लिए अगली डिप्लॉयमेंट शुरुआत से पूरी इंस्टॉल चलाता है। यह पूर्ववत नहीं किया जा सकता, और इसके बाद की बिल्ड धीमी होगी।

बिल्ड मशीन संसाधन

बिल्ड मशीन का आकार आपकी योजना पर निर्भर करता है, जो बड़ी बिल्ड के लिए महत्वपूर्ण है:

योजनाvCPURAMडिस्कसमय सीमा
Launch11 GB4 GB30 मिनट
Liftoff22 GB8 GB30 मिनट
Apex44 GB16 GB30 मिनट

एक बिल्ड जो मेमोरी से बाहर निकलता है या अपनी डिस्क भर जाता है विफल हो जाता है जिसमें वह विफलता श्रेणी डिप्लॉयमेंट पृष्ठ पर नाम दी जाती है। NODE_OPTIONS=--max-old-space-size बढ़ाना केवल मशीन के वास्तविक RAM तक मदद करता है।

टेम्पलेट से शुरू करना

यदि आप एक रिपॉजिटरी होने से पहले एक कार्यशील डिप्लॉयमेंट चाहते हैं, तो स्टार्टर टेम्पलेट का उपयोग करें। New project पर, Import Git Repo से Start from Template पर स्विच करें और एक चुनें: shadcn/ui के साथ Next.js, एक Astro मार्केटिंग साइट, Remix Indie Stack, एक SvelteKit स्टार्टर, एक न्यूनतम Nuxt 3 ऐप, या एक Express REST API। Orbit टेम्पलेट की प्रतिलिपि बनाता है, सही बिल्ड सेटिंग्स लागू करता है, और इसे तैनात करता है।

संबंधित पढ़ना

क्या आपको अभी भी सहायता की आवश्यकता है?

हमें ईमेल करें support@kapsulehost.com या KPanel में चैट खोलें।

KPanel खोलें
Orbit में समर्थित फ्रेमवर्क और रनटाइम