अगर आपने अपने-आप रोल आउट होने की सुविधा चालू की है, तो GitHub रिपॉज़िटरी की लाइव ब्रांच में नया कमिट पुश करने पर, App Hosting आपके ऐप्लिकेशन का नया वर्शन अपने-आप रोल आउट कर देता है. रोल आउट की स्थिति देखने के लिए, Firebase कंसोल या App Hosting GitHub चेक में जाएं.
इसके अलावा, App Hosting में सीआई/सीडी इंटिग्रेशन या किसी अन्य मामले के लिए, मैन्युअल तरीके से ट्रिगर किए गए रोलआउट की सुविधा उपलब्ध है. इसका इस्तेमाल तब किया जाता है, जब आपको रोलआउट को फ़ोर्स करना हो.
रोलआउट देखें
Firebase कंसोल में, आपके ऐप्लिकेशन के सभी रोलआउट के बारे में ज़्यादा जानकारी मिलती है.
होस्टिंग और सर्वरलेस> App Hosting पर जाएं. इसके बाद, उस बैकएंड के लिए देखें को चुनें जिसके रोलआउट आपको देखने हैं. बैकएंड के लिए रोलआउट टैब में, एक टेबल दिखती है. इसमें इस बैकएंड के लिए किए गए सभी रोलआउट का इतिहास होता है.
हर रोलआउट एंट्री में, Cloud Build जॉब और रोलआउट को ट्रिगर करने वाले बदलाव या कमिट के लिंक होते हैं. साथ ही, इसमें लेखक, बनाए जाने की तारीख, और रोलआउट की स्थिति के बारे में बुनियादी जानकारी होती है.
- Cloud Build जॉब, बिल्ड एनवायरमेंट होता है. इसमें App Hosting, आपके ऐप्लिकेशन के बिल्ड कमांड को चलाता है. Cloud Build लॉग को ऐक्सेस करने के लिए, बिल्ड आईडी पर क्लिक करें.
- बदलाव, GitHub कमिट या कोई ऐसी अन्य कार्रवाई होती है जिसकी वजह से रोलआउट शुरू हुआ.
मैन्युअल तरीके से रोलआउट ट्रिगर करना
अगर आपको नई कमिट पुश किए बिना, GitHub सोर्स से मैन्युअल तरीके से रोलआउट ट्रिगर करना है, तो Firebase कंसोल या Firebase CLI से रोलआउट बनाया जा सकता है. यह इन मामलों में मददगार होता है:
- स्टैटिक कॉन्टेंट को फिर से जनरेट करने के लिए मजबूर करना.
- इससे CI/CD सिस्टम को रोलआउट ट्रिगर करने की अनुमति मिलती है.
- प्रोडक्शन रोलआउट को किसी खास तारीख या समय तक सीमित करना.
Firebase कंसोल में रोलआउट शुरू करने के लिए:
- Firebase कंसोल में, होस्टिंग और सर्वरलेस > ऐप्लिकेशन होस्टिंग पर जाएं.
- जिस बैकएंड के लिए रोलआउट बनाना है उसके लिए, देखें पर क्लिक करें.
- बैकएंड डैशबोर्ड की खास जानकारी में, रोलआउट बनाएं को चुनें.
- डिप्लॉय करने के लिए ब्रांच चुनें.
- डिप्लॉय करने के लिए कमिट चुनें. यह कमिट, सबसे नया कमिट या कमिट आईडी से तय किया गया कोई पुराना कमिट हो सकता है.
- बनाएं को चुनें. रोलआउट की स्थिति और बिल्ड नंबर, रोलआउट के इतिहास वाली टेबल में दिखता है. रोल आउट की प्रोसेस पूरी होने पर, यह रोल आउट मौजूदा रोल आउट के तौर पर दिखता है.
Firebase CLI में रोलआउट को ट्रिगर करने के लिए, यहां दिया गया निर्देश चलाएं. इसके बाद, जब आपसे पूछा जाए, तो रोलआउट के लिए ब्रांच चुनें:
firebase apphosting:rollouts:create BACKEND_ID
इसके अलावा, किसी खास ब्रांच के लिए, सबसे नए कमिट का रोलआउट शुरू किया जा सकता है. इसके लिए, --git-branch विकल्प का इस्तेमाल करें:
firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME
--git-commit
विकल्प का इस्तेमाल करके, किसी खास कमिट के साथ रोलआउट भी बनाया जा सकता है:
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
पिछले रोलआउट को वापस लाना
App Hosting आपको रोलआउट के पिछले वर्शन को वापस लाने के लिए दो विकल्प देता है:
- बिना फिर से बनाए, तुरंत रोल बैक करें
- फिर से बनाएं और पिछले वर्शन पर रोल बैक करें
तुरंत रोलबैक करें
कभी-कभी आपको अपने ऐप्लिकेशन के पुराने वर्शन पर तुरंत वापस जाने की ज़रूरत पड़ सकती है. उदाहरण के लिए, अगर आपको रोलआउट किए गए नए वर्शन में कोई गंभीर बग मिला है या आपको एक ऐसा बिल्ड मिल रहा है जो नए रोलआउट को ब्लॉक कर रहा है. ऐसे मामलों में, पिछले रोलआउट से अपनी पसंद की मौजूदा कंटेनर इमेज को वापस लाया जा सकता है. इस इमेज को फिर से नहीं बनाया जाता. हालांकि, यह उस कोड और एनवायरमेंट कॉन्फ़िगरेशन का इस्तेमाल करती है जिसका इस्तेमाल इसे पहली बार बनाने के लिए किया गया था.
झटपट रोलबैक की सुविधा बनाने के लिए:
- Firebase कंसोल में, होस्टिंग और सर्वरलेस > ऐप्लिकेशन होस्टिंग पर जाएं.
- जिस बैकएंड के लिए रोलबैक बनाना है उसके व्यू पर क्लिक करें.
- रोलआउट टैब को चुनें.
- बैकएंड के लिए इतिहास टेबल में, पिछली किसी बिल्ड के लिए तीन बिंदु वाला मेन्यू चुनें.
- इस बिल्ड पर रोल बैक करें को चुनें और पुष्टि करें.
फिर से बनाएं और रोल बैक करें
अगर आपको ऐप्लिकेशन के पुराने वर्शन पर वापस जाना है, लेकिन मौजूदा कॉन्फ़िगरेशन को बनाए रखना है, तो रोलबैक की प्रोसेस के दौरान ऐप्लिकेशन को फिर से बनाया जा सकता है. उदाहरण के लिए, अगर आपके सबसे नए वर्शन ने Secret Manager में एपीआई पासकोड की वैल्यू अपडेट की है, तो फिर से बनाने से यह पक्का किया जा सकता है कि रोल बैक करने के बाद, आपके ऐप्लिकेशन में नए पासकोड का इस्तेमाल किया जाए.
फिर से बनाने और रोल बैक करने के लिए:
- Firebase कंसोल में, होस्टिंग और सर्वरलेस > ऐप्लिकेशन होस्टिंग पर जाएं.
- जिस बैकएंड के लिए रोलबैक बनाना है उसके लिए, डैशबोर्ड देखें पर क्लिक करें.
- रोलआउट टैब को चुनें.
- रोलआउट बनाएं को चुनें.
- रोलआउट बनाएं डायलॉग बॉक्स में, पिछला कमिट को चुनें. इसके बाद, उस वर्शन के लिए कमिट आईडी डालें जिसे आपको फिर से बनाना है और रोल बैक करना है. कमिट आईडी,रोलआउट के इतिहास में मौजूद हर रोलआउट के "बदलाव की जानकारी" का हिस्सा होता है. यह लेबल में कोष्ठक में मौजूद होता है.
- रोलबैक शुरू करने के लिए, बनाएं को चुनें.
रोल आउट करने की सेटिंग बदलना
डैशबोर्ड में सेटिंग > डिप्लॉयमेंट व्यू में मौजूद कंट्रोल का इस्तेमाल करके, रोलआउट के लिए लाइव ब्रांच बदली जा सकती है. साथ ही, ऑटोमैटिक रोलआउट की सुविधा चालू या बंद की जा सकती है.
- Firebase कंसोल में, होस्टिंग और सर्वरलेस > ऐप्लिकेशन होस्टिंग पर जाएं.
- जिस बैकएंड के लिए रोलआउट सेटिंग अपडेट करनी हैं उसके लिए, देखें पर क्लिक करें.
- बैकएंड डैशबोर्ड में, सेटिंग को चुनें. डिफ़ॉल्ट व्यू में, डोमेन और कस्टम डोमेन के बारे में जानकारी दिखती है.
- डिप्लॉयमेंट व्यू चुनें. इस व्यू में, रोल आउट के लिए लाइव ब्रांच को बदला जा सकता है. साथ ही, अपने-आप रोल आउट होने की सुविधा को बंद या चालू किया जा सकता है. इसके अलावा, ऐप्लिकेशन की रूट डायरेक्ट्री और बैकएंड के लिए एनवायरमेंट सेट करने के विकल्प भी उपलब्ध हैं. इसके लिए, एक से ज़्यादा एनवायरमेंट में डिप्लॉय करना लेख पढ़ें.
अपने-आप रोल आउट होने की सुविधा मैनेज करना
डिफ़ॉल्ट रूप से, App Hosting, सभी फ़ाइलों की "ज़रूरी" सूची को मानता है. इसका मतलब है कि आपकी रिपॉज़िटरी में हर नई कमिट से, नया बिल्ड और रोलआउट ट्रिगर होता है. हालांकि, समय बचाने और गैर-ज़रूरी डिप्लॉयमेंट से बचने के लिए, App Hostingको कॉन्फ़िगर किया जा सकता है. इससे, कमिट में बदले गए फ़ाइल पाथ के आधार पर बिल्ड को स्किप किया जा सकता है.
इसे सेटिंग > रोलआउट > रोलआउट ट्रिगर में जाकर कॉन्फ़िगर किया जा सकता है. अगर आपको अपनी रिपॉज़िटरी में हर नई कमिट के लिए, नया बिल्ड और रोलआउट ट्रिगर करना है, तो ज़रूरी पाथ को खाली छोड़ दें. इसके अलावा, यह भी तय किया जा सकता है कि किन डायरेक्ट्री या फ़ाइलों के लिए हमेशा रोलआउट ट्रिगर होना चाहिए. अगर आपको डायरेक्ट्री तय करनी हैं, तो पक्का करें कि आपने वे सभी पाथ जोड़े हों जहां बदलावों से रोलआउट ट्रिगर होना चाहिए.
नज़रअंदाज़ किए गए पाथ में जोड़ी गई डायरेक्ट्री या फ़ाइलें, कभी भी अपने-आप रोल आउट होने की सुविधा को ट्रिगर नहीं करेंगी. अगर कोई सबडायरेक्ट्री, ज़रूरी और अनदेखी की जाने वाली सूचियों, दोनों में शामिल है, तो अपने-आप रोल आउट होने की सुविधा ट्रिगर नहीं होगी. अगर आपने सिर्फ़ अनदेखा किए गए पाथ की सूची भरी है, तो App Hosting ज़रूरी पाथ के लिए "*" अपने-आप भर देगा.
अगर आपने ऐसा कमिट पुश किया है जिसमें बदली गई कोई भी फ़ाइल, आपके ज़रूरी पाथ से मेल नहीं खाती है
(या अगर सभी बदलावों को अनदेखा किए गए पाथ से साफ़ तौर पर बाहर रखा गया है),
तो App Hosting अब भी GitHub इवेंट की सूचना मिलने की पुष्टि करेगा. हालांकि, यह
बिल्ड और रोलआउट की स्थितियों को SKIPPED के तौर पर मार्क करेगा. साथ ही, अपने-आप रोलआउट होने की सुविधा ट्रिगर नहीं होगी.