how publish pact contract pact broker
यह ट्यूटोरियल पैक्ट ब्रोकर की स्थापना के लिए दो विकल्पों की व्याख्या करता है। आप पैक्ट-ब्रोकर ढांचे का उपयोग करके पैक्ट ब्रोकर को पैक्ट कॉन्ट्रैक्ट प्रकाशित कर सकते हैं और पोस्टमैन के साथ:
विंडोज़ पर json फ़ाइल कैसे खोलें
पैक्ट ब्रोकर क्या है?
पैक्ट ब्रोकर Pact ढांचे के रचनाकारों द्वारा प्रदान किया गया एक उपकरण है। यह भंडारण के अनुबंध, उपभोक्ताओं की कल्पना, और सत्यापन अनुबंध की स्थिति को सुविधाजनक बनाता है।
अनुबंधों को संग्रहीत करने के लिए एक अलग ब्रोकर होने का कारण यह है कि परीक्षणों के प्रत्येक सेट को अक्सर विभिन्न रिपॉजिटरी और यहां तक कि विभिन्न भाषाओं में लिखा जाता है।
=> यहाँ सरल अनुबंध परीक्षण प्रशिक्षण श्रृंखला का अन्वेषण करें
आप क्या सीखेंगे:
पैक्ट ब्रोकर को संविदा अनुबंध प्रकाशित करें
इससे पहले कि हम किसी अनुबंध को प्रकाशित करने के तरीके में कूदें, आपको एक निर्णय लेने की आवश्यकता है कि क्या आप पैक्ट ब्रोकर को स्वयं होस्ट करना चाहते हैं या एक होस्ट की गई सेवा का उपयोग करना चाहते हैं पैक्टफ्लो ।
व्यक्तिगत रूप से, हमने Pactflow का विकल्प चुना है क्योंकि यह अतिरिक्त लाभ प्रदान करता है जैसा कि नीचे दी गई तालिका में दिखाया गया है:
फ़ीचर | पैक्टफ्लो | स्वयं होस्ट किया गया |
---|---|---|
एसएसओ (गितुब) | हाँ | ऐसा न करें |
सर्वर रखरखाव | ऐसा न करें | हाँ |
सुरक्षित टोकन / रहस्य | हाँ | ऐसा न करें |
Webhooks | यूआई विन्यास | मैनुअल कॉन्फ़िगरेशन |
कोड के रूप में अवसंरचना | terraform | Dockerfile |
पैक्टफ्लो के साथ पैक्ट ब्रोकर की स्थापना
पैक्टफ्लो एक मुफ्त विकल्प प्रदान करता है जो आपको केवल 180 महीने के परीक्षण (मई 2020 तक) के बाद चार्ज करेगा, जो कि 10 और डेढ़ साल है।
- अपना ईमेल पता Pactflow के साथ पंजीकृत करें (ध्यान दें कि आप बाद में अतिरिक्त उपयोगकर्ता जोड़ सकते हैं)।
- अपने पैक्ट ब्रोकर के लिए कंपनी की जानकारी और उप-डोमेन सेट करें।
- अब आपको अपने अस्थायी उपयोगकर्ता नाम और पासवर्ड के साथ एक ई-मेल प्राप्त करना चाहिए।
- अपने उपडोमेन पर नेविगेट करें, (यहाँ मेरा है उप डोमेन ) और लॉग इन करें। यदि यह सफल रहा, तो आपको पहले से ही सेटअप के साथ उदाहरण ऐप देखना चाहिए।
हम बाद में ट्यूटोरियल में Pactflow के भीतर अनुबंधों के खिलाफ कैसे सत्यापित करें, इस पर ध्यान देंगे।
डॉकर के साथ पैक्ट ब्रोकर की स्थापना (डॉकटर-कंपोज़)
पैक्ट docker-compose के साथ आसानी से अपने खुद के Pact Broker को सेकंडों में स्पिन करने के लिए docker की छवियाँ प्रदान करता है। जीथूब रिपोजिटरी यह बताता है कि यह कैसे किया जा सकता है, इस बारे में बाद में विस्तार से जाने दें।
सेवा स्थिर है यह सुनिश्चित करने के लिए कुछ अतिरिक्त कदम जोड़े गए हैं:
- 'पुनरारंभ करें: हमेशा' जोड़ें docker- रचना सेवाएं।
- सर्वर पर docker-compose लॉन्च करें, जो बैकग्राउंड में चलने की अनुमति देने के लिए `-d` अलग किए गए तर्क का उपयोग करता है।
संधि के साथ प्रकाशन अनुबंध
प्रत्येक संधि भाषा कार्यान्वयन के अपने तरीके हैं कि ब्रोकर को अनुबंध कैसे प्रकाशित किया जाए। जावास्क्रिप्ट में पैक्ट ब्रोकर के लिए प्रकाशन, कॉन्फ़िगरेशन इसी तरह दिखना चाहिए।
ऊपर दिखाया गया पैक्ट ब्रोकर टोकन सेटिंग्स के तहत पैक्टफ्लो में संग्रहीत है। नीचे स्क्रीनशॉट दिखाए गए हैं। सुनिश्चित करें कि आप CI टोकन का उपयोग कर रहे हैं जिसमें रीड और राइट की अनुमति है।
के लिए जाओ सेटिंग्स और फिर Pactflow में एपीआई टोकन।
संभवतः रहस्यों और पासवर्डों को जीआईटीटी में संग्रहित नहीं किया जाना चाहिए, इसलिए कोड के भीतर `.एनएनवी` फाइल का उपयोग किया जाना चाहिए और संदर्भित किया जाना चाहिए जैसा कि नीचे दिखाया गया है।
के साथ 'PublishVerificationResult' मूल्य, आप अपने स्थानीय वातावरण में अनुबंधों का सत्यापन नहीं करना चाहते हैं। इसलिए एक और पर्यावरण चर सेट किया जाना चाहिए, जैसा कि नीचे दिखाया गया है।
अब अनुबंध को सीधे कोड में प्रकाशित किया जा सकता है।
पोस्टमैन के साथ प्रकाशन अनुबंध
आमतौर पर, पहले अनुबंध को सत्यापित करने के लिए, हम यह सुनिश्चित करने के लिए पोस्टमैन का उपयोग करते हैं कि ब्रोकर सही ढंग से सेट है। डाकिया इसका उपयोग तब भी किया गया है जब उपभोक्ता अपनी टीम के भीतर पैक्ट को अपनाने के लिए धीमा हो रहे थे, इसलिए हमने अनुबंध को पैक्ट ब्रोकर को प्रकाशित किया और उपभोक्ता टीम को यह सत्यापित करने के लिए कहा कि क्या वे अनुबंध से खुश हैं।
इसने हमें अनुबंध के खिलाफ सत्यापित करने के लिए प्रदाता टीम के रूप में सक्षम किया और हमारी तैनाती में अधिक विश्वास है। इसके अलावा जब उपभोक्ता टीम पैक्ट को अपनाने के लिए तैयार थी, तो उनके पास पहले से ही उपयोग करने के लिए एक कार्यशील उदाहरण था।
पोस्टमैन को प्रकाशित करने के चरण नीचे दिए गए हैं:
# 1) PUT: अनुरोध का निर्माण
- पर नेविगेट करें उप डोमेन
- प्रदाता का नाम
- उपभोक्ता का नाम
- संस्करण
# 2) प्राधिकरण: वाहक टोकन जोड़ें (जो ऊपर बताए अनुसार एपीआई टोकन के बराबर है)
# 3) Pact JSON को बॉडी के रूप में शामिल करें (JSON को सीधे बॉडी फ़ील्ड में कॉपी किया जा सकता है, जिससे कंटेंट सेट करना संभव हो जाता है: हेडर को 'एप्लिकेशन / json' टाइप करें)।
एपीआई प्रदाताओं के साथ साझा करना
एक बार आपके अनुबंध प्रकाशित होने के बाद, प्रदाता Pact Broker URL के साथ अनुरोध करके Pact अनुबंध पुनः प्राप्त कर सकता है:
आमतौर पर, आप एपीआई के एक विशिष्ट संस्करण के साथ सत्यापित करना चाहेंगे। उदाहरण के लिए, एक माइक्रोसर्विस आर्किटेक्चर में, उपभोक्ता टीम लगातार उन सूचनाओं में बदलाव कर रही है जिनकी उन्हें एपीआई से आवश्यकता होती है।
इसके साथ-साथ, एपीआई प्रदाता एक ही समय में बदलाव कर रहा है, और उन्हें उस संस्करण के खिलाफ सत्यापित करने की आवश्यकता होगी जो वर्तमान में उत्पादन के लिए तैनात है क्योंकि यह एक निर्बाध तैनाती सुनिश्चित करेगा।
निष्कर्ष
अंत में, आपके पास एक प्रकाशित अनुबंध के साथ एक पैक्ट ब्रोकर है, अगले ट्यूटोरियल में हम देखेंगे कि कैसे अपने प्रदाता के परीक्षण को लिखने के लिए .Net कोर एपीआई को लपेटें, नवीनतम अनुबंध को खींचकर, और स्थानीय एपीआई के खिलाफ सत्यापन करें।
पैक्ट ढांचा न केवल उपभोक्ता-चालित तरीके से आपकी परियोजना की शुरुआत में मूल्यवान है, बल्कि पैक्ट ब्रोकर के साथ अपने उपभोक्ताओं को कल्पना करने का लाभ निश्चित रूप से इस उपकरण का उपयोग करने में महत्वपूर्ण योगदानकर्ता है।
साथ ही, उपभोक्ता इंटरैक्शन को बेहतर ढंग से समझने की क्षमता और एपीआई का उपयोग वास्तव में कैसे किया जा सकता है, इसे अक्सर अनुवाद में खो दिया जा सकता है और इसके परिणामस्वरूप उत्पादन मुद्दा हो सकता है। यह अनुप्रयोग लॉग के माध्यम से डिबगिंग और ट्रैवेलिंग के घंटे की ओर जाता है।
इस ट्यूटोरियल में, हमने आपके Pact Broker को सेट करने के लिए दो अलग-अलग विकल्प सीखे हैं। आपने पैक्ट-जेएस फ्रेमवर्क का उपयोग करके और पोस्टमैन के साथ भी अपना अनुबंध प्रकाशित किया है।
इस बिंदु पर, आपको अपने संस्करणों को माइक्रोसर्विसेस में संरेखित करने के बारे में सोचने की जरूरत है और साथ ही अपने प्रदाताओं का नामकरण भी पढ़ने और समझने योग्य पैक्ट ब्रोकर नेटवर्क बनाने के लिए लगातार करना है।
=> स्क्रैच से अनुबंध परीक्षण जानने के लिए यहां जाएं
अनुशंसित पाठ
- जावास्क्रिप्ट में एक उपभोक्ता संधि परीक्षण कैसे लिखें
- उदाहरणों के साथ अनुबंध परीक्षण का परिचय
- पैक्ट कॉन्ट्रैक्ट के साथ पैक्ट कॉन्ट्रैक्ट और कंटिन्युअस डिप्लॉयमेंट को वेरिफाई करें
- डॉकर ट्यूटोरियल: डॉकियर के लिए संस्थापन और परिचय
- पोस्टमैन में जटिल परीक्षण वर्कफ़्लो के लिए उन्नत स्क्रिप्टिंग
- पोस्टमैन में एपीआई डॉक्यूमेंटेशन कैसे बनाएं?
- विभिन्न एपीआई प्रारूपों के परीक्षण के लिए पोस्टमैन का उपयोग कैसे करें?
- शीर्ष 10 सबसे लोकप्रिय पोस्टमैन साक्षात्कार के उत्तर के साथ प्रश्न