Orbit
GitLab रिपो को कनेक्ट करना
GitLab connects to Orbit through OAuth rather than an installed app: you authorise Kapsule once, Orbit lists the projects your GitLab account can reach, and it registers a webhook per repository so…
GitLab OAuth के माध्यम से Orbit से जुड़ता है, न कि एक इंस्टॉल किए गए ऐप्लिकेशन के माध्यम से: आप Kapsule को एक बार अधिकृत करते हैं, Orbit आपके GitLab खाते के प्रोजेक्ट को सूचीबद्ध करता है, और यह प्रत्येक रिपॉजिटरी पर एक webhook पंजीकृत करता है ताकि हर push एक build को ट्रिगर करे। यह गाइड कनेक्शन, एक रिपॉजिटरी का चयन, आपके GitLab pipeline पर deploys को गेट करना, और आमतौर पर रिपॉजिटरी दिखाई न देने के कारणों को कवर करता है।
शुरू करने से पहले
Orbit केवल उन GitLab प्रोजेक्ट्स को देख सकता है जिन्हें आपका अपना खाता देख सकता है। किसी group-owned प्रोजेक्ट के लिए आपको कम से कम Developer access की आवश्यकता है, और आपके पास रिपॉजिटरी पर webhook बनाने के लिए पर्याप्त permission होनी चाहिए। यदि आपका GitLab instance आउटबाउंड webhooks को प्रतिबंधित करता है, तो वह प्रतिबंध यहां भी लागू होता है।
चरण 1: GitLab को कनेक्ट करें
- KPanel में, बाईं साइडबार में Orbit पर क्लिक करें।
- New project पर क्लिक करें।
- mode को Import Git Repo पर सेट रखें।
- चरण 1 पर, Connect GitLab पर क्लिक करें।
आपको Kapsule Orbit application को अधिकृत करने के लिए GitLab भेजा जाता है। अनुरोधित scopes को मंजूरी दें और GitLab आपको KPanel में वापस लाता है आपकी रिपॉजिटरीज लोड हो गई हों। चरण 1 तब Just connected दिखाता है।
यदि कनेक्शन विफल हो जाता है, तो KPanel एक generic संदेश की जगह GitLab द्वारा लौटाई गई error दिखाता है। पुनः प्रयास करने से पहले इसे पढ़ें: एक scope refusal और एक expired authorisation को विभिन्न fixes की आवश्यकता है।
चरण 2: एक रिपॉजिटरी चुनें
आपकी सुलभ रिपॉजिटरीज एक सूची के रूप में दिखाई देती हैं। जिस रिपॉजिटरी को आप चाहते हैं उसके आगे Select पर क्लिक करें। Private repositories एक Private badge ले जाते हैं; Orbit public और private दोनों repositories को deploy करता है।
यदि कोई रिपॉजिटरी गायब है
- प्रोजेक्ट पर अपनी role जांचें। Reporter access पर्याप्त नहीं है; आपको कम से कम Developer की आवश्यकता है।
- यदि प्रोजेक्ट किसी group से संबंधित है, तो पुष्टि करें कि आपकी membership group पर या प्रोजेक्ट पर है, न कि केवल एक ancestor group पर एक प्रतिबंधित role के साथ।
- चरण 1 पर Reconnect GitLab पर क्लिक करें OAuth flow को फिर से चलाने के लिए। यह token को refresh करता है और आपकी प्रोजेक्ट list को फिर से पढ़ता है।
यदि panel No repos accessible दिखाता है, तो OAuth grant के माध्यम से चला गया लेकिन कुछ नहीं लौटाया। फिर से कनेक्ट करें और जांचें कि आपने repository scopes को मंजूरी दी है, न कि एक कम किया गया set।
चरण 3: अपना प्रोजेक्ट कॉन्फ़िगर करें
| Field | इसका कार्य |
|---|---|
| Project Name | KPanel में display name, उदाहरण के लिए my-app |
| Deploy URL | kaps.run के अंतर्गत subdomain, इसलिए my-app my-app.kaps.run बन जाता है |
Create project पर क्लिक करें। Orbit रिपॉजिटरी को clone करता है, पहले build को queue करता है, और आपको प्रोजेक्ट overview पर ले जाता है।
Deploy URL slug creation पर fixed है और बाद में नहीं बदला जा सकता। एक अलग पते पर प्रकाशित करने के लिए, इसके बजाय एक custom domain को attach करें। अपने प्रोजेक्ट में एक Custom Domain जोड़ना देखें।
स्वचालित Deploys
Orbit प्रोजेक्ट के creation पर आपकी GitLab repository पर एक webhook को पंजीकृत करता है। उसके बाद:
- आपकी production branch को एक push एक production deployment को queue करता है।
- किसी अन्य branch को एक push
branch-<branch-name>.kaps.runपर एक isolated preview बनाता है, यदि Branch previews Settings के अंतर्गत Runtime में सक्षम है। Orbit में Branch Preview Deployments देखें। - एक branch को delete करना इसके preview environment को pause करता है, और storage लगभग एक दिन के भीतर reclaim किया जाता है।
आप webhook को manually create या maintain नहीं करते हैं।
अपने GitLab CI Pipeline की प्रतीक्षा कर रहे हैं
यदि आप GitLab CI में tests चलाते हैं, तो Orbit pipeline के pass होने तक deploy को रोक सकता है।
- प्रोजेक्ट को खोलें, फिर Settings।
- CI required checks खोजें।
- कोई भी non-empty value दर्ज करें और save करें।
GitLab पर, value स्वयं job names के विरुद्ध matched नहीं है: कोई भी non-empty value Orbit को full pipeline के succeed होने तक प्रतीक्षा करने के लिए बताता है। एक pipeline failure Orbit deployment को automatically cancel करता है। यह केवल production branch पर push-triggered deploys पर लागू होता है।
यह वह जगह है जहां दोनों providers भिन्न होते हैं। GitHub value को named Actions jobs के विरुद्ध match करता है; GitLab किसी भी value को "entire pipeline के लिए प्रतीक्षा करें" के रूप में मानता है। यदि आप एक GitHub और एक GitLab प्रोजेक्ट के बीच settings को copy कर रहे हैं, तो same field के समान तरीके से व्यवहार करने की उम्मीद न करें।
GitLab को फिर से कनेक्ट करना या डिस्कनेक्ट करना
- Orbit पर क्लिक करें, फिर New project।
- चरण 1 पर, OAuth flow को फिर से चलाने के लिए Reconnect पर क्लिक करें, या link को हटाने के लिए Disconnect पर क्लिक करें।
Reconnect हर बार का सही पहला move है जब रिपॉजिटरी listing काम करना बंद कर दे: OAuth tokens expire करते हैं, और reconnecting एक fresh token को mint करता है।
Disconnecting आपके प्रोजेक्ट्स और उनके deployment history को रखता है, और live deployment traffic serve करना जारी रखता है। जो बंद होता है वह push-triggered deploying है। Deploy hooks भी काम करना बंद कर देते हैं, क्योंकि एक hook को यह जानने के लिए provider connection के माध्यम से branch head को read करना है कि क्या build करना है।
संबंधित पठन
- अपने प्रोजेक्ट को Deploy करना full deploy cycle, deploy locks और approvals के लिए
- विफल Builds की समस्या निवारण यदि पहला build succeed नहीं होता है
- अन्य providers के लिए एक GitHub Repo को कनेक्ट करना और एक Bitbucket Repo को कनेक्ट करना