रोल आउट और रिलीज़ मैनेज करना

अगर आपने अपने-आप रोल आउट होने की सुविधा चालू की है, तो GitHub रिपॉज़िटरी की लाइव ब्रांच में नया कमिट पुश करने पर, App Hosting आपके ऐप्लिकेशन का नया वर्शन अपने-आप रोल आउट कर देता है. रोल आउट की स्थिति देखने के लिए, Firebase कंसोल या App Hosting GitHub चेक पर जाएं.

इसके अलावा, App Hosting CI/CD इंटिग्रेशन या किसी अन्य मामले के लिए, मैन्युअल तरीके से ट्रिगर किए गए रोलआउट की सुविधा देता है. ऐसा तब किया जाता है, जब आपको रोलआउट को फ़ोर्स करना हो.

लॉन्च देखें

Firebase कंसोल में, आपके ऐप्लिकेशन के सभी रोलआउट के बारे में ज़्यादा जानकारी मिलती है.

होस्टिंग और सर्वरलेस> ऐप्लिकेशन होस्टिंग पर जाएं. इसके बाद, उस बैकएंड के लिए देखें को चुनें जिसके रोल आउट देखने हैं. बैकएंड के लिए रोलआउट टैब में, एक टेबल दिखती है. इसमें इस बैकएंड के लिए किए गए सभी रोलआउट का इतिहास होता है.

हर रोलआउट एंट्री में, Cloud Build जॉब और रोलआउट को ट्रिगर करने वाले बदलाव या कमिट के लिंक होते हैं. साथ ही, इसमें लेखक, बनाए जाने की तारीख, और रोलआउट की स्थिति के बारे में बुनियादी जानकारी होती है.

  • Cloud Build जॉब बिल्ड एनवायरमेंट है जहां App Hosting आपके ऐप्लिकेशन की बिल्ड कमांड को चलाता है. बिल्ड आईडी पर क्लिक करके, Cloud Build लॉग ऐक्सेस किए जा सकते हैं.
  • बदलाव, GitHub कमिट या कोई अन्य कार्रवाई होती है जिसकी वजह से रोलआउट शुरू हुआ.

मैन्युअल तरीके से रोलआउट ट्रिगर करना

अगर आपको नया कमिट पुश किए बिना, GitHub सोर्स से मैन्युअल तरीके से रोलआउट ट्रिगर करना है, तो Firebase कंसोल या Firebase सीएलआई से रोलआउट बनाया जा सकता है. यह इन मामलों में मददगार होता है:

  • स्टैटिक कॉन्टेंट को फिर से जनरेट करने के लिए मजबूर करना.
  • इससे CI/CD सिस्टम को रोलआउट ट्रिगर करने की अनुमति मिलती है.
  • प्रोडक्शन रोलआउट को किसी खास तारीख या समय तक सीमित करना.

Firebase कंसोल में रोलआउट को ट्रिगर करने के लिए:

  1. Firebase console में, होस्टिंग और सर्वरलेस > App Hosting पर जाएं.
  2. उस बैकएंड के लिए देखें पर क्लिक करें जिसके लिए आपको रोलआउट बनाना है.
  3. बैकएंड डैशबोर्ड की खास जानकारी में, रोलआउट बनाएं को चुनें.
  4. डिप्लॉय करने के लिए ब्रांच चुनें.
  5. डिप्लॉय करने के लिए कमिट चुनें. यह कमिट, सबसे नया कमिट या कमिट आईडी से तय किया गया कोई पुराना कमिट हो सकता है.
  6. बनाएं को चुनें. रोलआउट के इतिहास की टेबल में, रोलआउट का स्टेटस और बिल्ड नंबर दिखता है. रोल आउट की प्रोसेस पूरी होने पर, यह रोल आउट मौजूदा रोल आउट के तौर पर दिखता है.

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 आपको रोलआउट के पिछले वर्शन को वापस लाने के लिए दो विकल्प देता है:

  • बिना फिर से बनाए, तुरंत रोल बैक करें
  • फिर से बनाएं और पिछले वर्शन पर रोल बैक करें

तुरंत रोलबैक करना

कभी-कभी आपको अपने ऐप्लिकेशन के पुराने वर्शन पर तुरंत वापस जाने की ज़रूरत पड़ सकती है. उदाहरण के लिए, अगर आपको हाल ही में डिप्लॉय किए गए रोलआउट में कोई गंभीर गड़बड़ी मिली है या आपको एक ऐसी बिल्ड का सामना करना पड़ रहा है जो नए रोलआउट को ब्लॉक कर रही है. ऐसे मामलों में, पिछले रोलआउट से अपनी पसंद की मौजूदा कंटेनर इमेज को वापस लाया जा सकता है. इस इमेज को फिर से नहीं बनाया जाता. हालांकि, यह उस कोड और एनवायरमेंट कॉन्फ़िगरेशन का इस्तेमाल करती है जिसका इस्तेमाल इसे पहली बार बनाने के लिए किया गया था.

झटपट रोलबैक की सुविधा बनाने के लिए:

  1. Firebase console में, होस्टिंग और सर्वरलेस > App Hosting पर जाएं.
  2. उस बैकएंड के लिए व्यू पर क्लिक करें जिसके लिए आपको रोलबैक बनाना है.
  3. रोलआउट टैब को चुनें.
  4. बैकएंड के लिए इतिहास टेबल में, पिछली किसी बिल्ड के लिए तीन बिंदु वाला मेन्यू चुनें.
  5. इस बिल्ड पर रोल बैक करें को चुनें और पुष्टि करें.

फिर से बनाएं और रोल बैक करें

अगर आपको ऐप्लिकेशन के पुराने वर्शन पर वापस जाना है, लेकिन मौजूदा कॉन्फ़िगरेशन को बनाए रखना है, तो रोलबैक की प्रोसेस के दौरान ऐप्लिकेशन को फिर से बनाया जा सकता है. उदाहरण के लिए, अगर आपके सबसे नए वर्शन ने Secret Manager में एपीआई पासकोड की वैल्यू अपडेट की है, तो फिर से बनाने से यह पक्का किया जा सकता है कि रोल बैक करने के बाद, आपके ऐप्लिकेशन में नए पासकोड का इस्तेमाल किया जाए.

फिर से बनाने और रोल बैक करने के लिए:

  1. Firebase console में, होस्टिंग और सर्वरलेस > App Hosting पर जाएं.
  2. जिस बैकएंड के लिए रोलबैक बनाना है उसके लिए, डैशबोर्ड देखें पर क्लिक करें.
  3. रोलआउट टैब को चुनें.
  4. रोल आउट बनाएं को चुनें.
  5. रोलआउट बनाएं डायलॉग बॉक्स में, पहले का कमिट को चुनें. इसके बाद, उस वर्शन के लिए कमिट आईडी डालें जिसे आपको फिर से बनाना है और रोल बैक करना है. कमिट आईडी,रोलआउट के इतिहास में मौजूद हर रोलआउट के लिए "बदलाव की जानकारी" का हिस्सा होता है. यह लेबल में कोष्ठक में मौजूद होता है.
  6. रोलबैक शुरू करने के लिए, बनाएं को चुनें.

रोल आउट करने की सेटिंग बदलना

डैशबोर्ड में सेटिंग > डिप्लॉयमेंट व्यू में मौजूद कंट्रोल का इस्तेमाल करके, रोलआउट के लिए लाइव ब्रांच को बदला जा सकता है. साथ ही, ऑटोमैटिक रोलआउट की सुविधा को बंद या चालू किया जा सकता है.

  1. Firebase console में, होस्टिंग और सर्वरलेस > App Hosting पर जाएं.
  2. उस बैकएंड के लिए देखें पर क्लिक करें जिसके लिए आपको रोलआउट सेटिंग अपडेट करनी हैं.
  3. बैकएंड डैशबोर्ड में, सेटिंग चुनें. डिफ़ॉल्ट व्यू में, डोमेन और कस्टम डोमेन के बारे में जानकारी दिखती है.
  4. डिप्लॉयमेंट व्यू चुनें. इस व्यू में, रोलआउट के लिए लाइव ब्रांच बदली जा सकती है. साथ ही, अपने-आप होने वाले रोलआउट की सुविधा को बंद या चालू किया जा सकता है. इसके अलावा, ऐप्लिकेशन की रूट डायरेक्ट्री और बैकएंड के लिए एनवायरमेंट सेट करने के विकल्प भी उपलब्ध हैं. इसके लिए, एक से ज़्यादा एनवायरमेंट में डिप्लॉय करना लेख पढ़ें.

अपने-आप रोल आउट होने की सुविधा मैनेज करना

डिफ़ॉल्ट रूप से, App Hosting सभी फ़ाइलों की सूची को "ज़रूरी" मानता है. इसका मतलब है कि आपकी रिपॉज़िटरी में हर नए कमिट से, नया बिल्ड और रोलआउट ट्रिगर होता है. हालांकि, समय बचाने और गैर-ज़रूरी डिप्लॉयमेंट से बचने के लिए, App Hostingको कॉन्फ़िगर किया जा सकता है. इससे, कमिट में बदले गए फ़ाइल पाथ के आधार पर बिल्ड को स्किप किया जा सकता है.

इसे सेटिंग > रोलआउट > रोलआउट ट्रिगर में जाकर कॉन्फ़िगर किया जा सकता है. अगर आपको अपनी रिपॉज़िटरी में हर नई कमिट के लिए, नया बिल्ड और रोलआउट ट्रिगर करना है, तो ज़रूरी पाथ को खाली छोड़ दें. इसके अलावा, यह भी तय किया जा सकता है कि किन डायरेक्ट्री या फ़ाइलों के लिए हमेशा रोलआउट ट्रिगर होना चाहिए. अगर आपको डायरेक्ट्री तय करनी हैं, तो पक्का करें कि आपने वे सभी पाथ जोड़े हों जहां बदलावों से रोलआउट ट्रिगर होना चाहिए.

इग्नोर किए गए पाथ में जोड़ी गई डायरेक्ट्री या फ़ाइलें, कभी भी अपने-आप रोल आउट नहीं होंगी. अगर कोई सबडायरेक्ट्री, ज़रूरी और नज़रअंदाज़ की गई सूचियों, दोनों में शामिल है, तो अपने-आप रोल आउट होने की सुविधा ट्रिगर नहीं होगी. अगर आपने सिर्फ़ अनदेखा किए गए पाथ की सूची भरी है, तो App Hosting ज़रूरी पाथ के लिए "*" अपने-आप भर देगा.

इस पेज में बताए गए यूज़र इंटरफ़ेस (यूआई) का स्क्रीनशॉट.

अगर आपने ऐसा कमिट पुश किया है जिसमें बदली गई कोई भी फ़ाइल, आपके ज़रूरी पाथ से मेल नहीं खाती है (या अगर सभी बदलावों को अनदेखा किए गए पाथ से साफ़ तौर पर बाहर रखा गया है), तो App Hosting अब भी GitHub इवेंट की सूचना मिलने की पुष्टि करेगा. हालांकि, यह बिल्ड और रोलआउट की स्थितियों को SKIPPED के तौर पर मार्क करेगा. साथ ही, अपने-आप रोलआउट होने की सुविधा ट्रिगर नहीं होगी.