मुख्य सामग्री पर जाएं
एआई एजेंट्स
कृत्रिम बुद्धिमत्ता

Devin के साथ सॉफ्टवेयर डेवलपमेंट: इंटीग्रेशंस, टेस्टिंग, और CI/CD (भाग 3)

जानें कि Devin कैसे Jira टिकट संभालकर, Slack अपडेट करके, और मर्ज से पहले GitHub Actions के साथ CI/CD चेक चलाकर टीमों के साथ इंटीग्रेट करता है।
Marie Fayard's photo
Marie Fayard
अपडेट किया गया · 12 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

अपना निःशुल्क खाता बनाएँ

अभ्यास और ट्रैक अपनी प्रगति को।

Google के साथ जारी रखें
जारी रखने पर, आप हमारी उपयोग की शर्तें, हमारी गोपनीयता नीति को स्वीकार करते हैं और यह भी कि आपका डेटा संयुक्त राज्य अमेरिका में संग्रहीत किया जाता है।

वापसी पर स्वागत है! दूसरे ट्यूटोरियल के अंत तक, हमारे पास एक पेस्टल-थीम वाला fp-ts प्लेग्राउंड, NestJS + PostgreSQL बैकएंड, और अनाम UUID प्रोग्रेस ट्रैकिंग थी।

Devin श्रृंखला के सभी ट्यूटोरियल आप यहाँ पा सकते हैं:

  1. सेटअप और पहला पुल रिक्वेस्ट (भाग 1)
  2. Devin के साथ एक वर्टिकल स्लाइस शिप करना (भाग 2)
  3. इंटीग्रेशंस, टेस्टिंग, और CI/CD (भाग 3) 
  4. सिक्योरिटी, डिप्लॉयमेंट, मेंटेनेंस (भाग 4)

अब तक जो किया गया है वह सोलो हैकिंग के लिए बेहतरीन है, लेकिन अब समय है यह देखने का कि Devin टीम वर्कफ़्लोज़ के साथ कितना अच्छा इंटीग्रेट होता है। इस तीसरे ट्यूटोरियल में, हम देखेंगे:

  • इंटीग्रेशंस: Devin Jira टिकट खोलेगा, उन पर काम करेगा, और हर PR की स्थिति सीधे Slack पर बताएगा।
  • क्वालिटी गेट्स: हम API के लिए Jest यूनिट टेस्ट, UI के लिए Playwright एंड-टू-एंड फ्लो जोड़ेंगे, और 90% कवरेज लागू करेंगे।
  • CI/CD: GitHub Actions लिंटिंग, टाइप-चेक, सभी टेस्ट चलाएगा, और Playwright रिपोर्ट्स को पुल रिक्वेस्ट्स से अटैच करेगा—किसी भी चीज़ के मर्ज होने से पहले।

अभी ऑथ या प्रोड डिप्लॉय नहीं—ये भाग 4 में होंगे!

Devin पर Slack इंटीग्रेशन सेट अप करें

Devin को आपकी कम्युनिकेशन और टिकट फ्लो में जोड़ना पूरी तरह मैनुअल है और Devin इंटरफ़ेस के जरिए होता है।

आप Devin सेटिंग्स के इंटीग्रेशन टैब से Slack से कनेक्ट कर सकते हैं, या Slack के App Directory से “Devin AI” ऐप इंस्टॉल कर सकते हैं।

slack के साथ devin का इंटीग्रेशन

slack वर्कस्पेस तक पहुँच के लिए devin की अनुमति का अनुरोध

ऐप अभी भी OAuth डायलॉग में “Slack द्वारा स्वीकृत नहीं” दिखाता है। Cognition का कहना है कि उनकी सिक्योरिटी समीक्षा लंबित है, और फ़ंक्शनैलिटी प्रभावित नहीं होती।

फिर एक चैनल चुनें:

devin के लिए slack चैनल चुनना

और केवल मेंशन करके Devin से चैट कर सकते हैं:

और यह एक सत्र शुरू करता है जिसे आप UI में एक्सेस कर सकते हैं:

Devin UI में एक सत्र शुरू करता है

डिफ़ॉल्ट रूप से, आपको अपनी पसंद के चैनल में PR अपडेट्स के नोटिफिकेशन मिलते हैं, लेकिन प्रत्येक सत्र के पैरामीटर्स में आप कुछ अलग-अलग नोटिफिकेशन सेटिंग्स समायोजित कर सकते हैं।

Devin पर Jira इंटीग्रेशन सेट अप करें

Jira के साथ इंटीग्रेट करने के लिए, आपको एक समर्पित बॉट यूज़र (उदा., devin-bot@…) अकाउंट बनाना होगा और उन क्रेडेंशियल्स को Devin → Team ▸ Integrations ▸ Jira में लिंक करना होगा।

फिर अपने पर्सनल अकाउंट से एक नया टिकट बनाएं और devin लेबल जोड़ें।

Devin एक विश्लेषण टिप्पणी पोस्ट करता है जिसमें योजना का खाका और “Session शुरू करें?” प्रॉम्प्ट होता है। उसे कोड करने देने के लिए “yes” लिखें या टिकट को केवल इंसानों के लिए रखने के लिए लेबल हटा दें।

ध्यान दें: Devin आपके बोर्ड पर कार्ड्स को ऑटो-मूव नहीं करेगा। आपको या आपके PM को अभी भी उन्हें In Progress या Done में ड्रैग करना होगा। इससे वर्कफ़्लो का नियंत्रण इंसानों के हाथ में रहता है।

Jira टिकट्स से Devin को काम करने देना

एक बार Slack और Jira कनेक्ट हो गए, तो मैंने “एजेंट-एज-टीम्मेट” का असली प्रयोग किया और Devin को असली टिकट्स दिए ताकि देखें कि क्या वह बिना हाथ पकड़ाए उन्हें लागू कर सकता है।

जो वर्कफ़्लो मैंने इस्तेमाल किया

मेरा वर्कफ़्लो यह था:

  1. अपने नए बनाए JIRA प्रोजेक्ट में एक टिकट बनाएं और स्पष्ट स्वीकृति मानदंड लिखें।
  2. devin लेबल जोड़ें, जो Devin के लिए विश्लेषण शुरू करने का संकेत है।
  3. Devin चरण-दर-चरण योजना, एक कॉन्फिडेंस अनुमान के साथ टिप्पणी करता है और पूछता है, “Session शुरू करें?”

devin कार्य

  1. मैंने “Yes” जवाब दिया। टिकट में “Session started” दिखा, और वेब IDE लिंक दिया। जब PR मर्ज हुआ, Devin ने “Merged ✅” वापस Slack पर पोस्ट किया, और मैंने बोर्ड पर कार्ड मूव किया। जब तक मैं “Yes” न कहूँ, तब तक इनमें से किसी में भी ACU खर्च नहीं होता।

पाँच असली टिकट, पाँच बिलकुल अलग नतीजे

यहाँ पाँच असली टिकट्स में क्या हुआ, उसका सारांश है:

टिकट

योजना का काम

ACUs

वास्तव में Devin ने कैसा किया

SQLite→Postgres माइग्रेट करें

DB इंजन बदलें, माइग्रेशंस चलाएं

0.6

बेहतर. एक कमिट, टेस्ट हरे ही रहे।

Sandpack UI में सुधार करें और फेल हो रहे टेस्ट ठीक करें

UI टवीक्स + टेस्ट की विश्वसनीयता

5.0 (दो सत्र)

SQLite पर वापस जाने पर अड़ी रही, माइग्रेशन स्क्रिप्ट्स छूट गईं, ACUs जले। अंततः मैंने UI बनाम टेस्ट को दो प्रॉम्प्ट्स में बाँटा ताकि कैप के अंदर रह सकें।

सूचियों में पूर्णता टिक दिखाएँ

अभ्यास सूची में ✓ बैज जोड़ें

0.8

एक ही प्रयास में सफलता; यहाँ तक कि ऑप्टिमिस्टिक UI भी जोड़ा।

डिस्कवरी सिस्टम को वैलिडेट करें

एंड-टू-एंड जाँच कि हर फ़ाइल पार्स हो

2.6

बैकएंड चेक पास हुए, लेकिन फ्रंटएंड त्रुटि बनी रही। दो हल्के नजेस की ज़रूरत पड़ी।

छोड़े गए अचीवमेंट कोड को हटाएँ

फ़ीचर फ्लैग + बासी कॉम्पोनेंट्स डिलीट करें

0.4

Devin ने “कम विश्वास” की चेतावनी दी, फिर भी 30 फ़ाइलें बारीकी से हटाईं और इम्पोर्ट्स बिना गलती के अपडेट किए।

चीज़ें जो मनमानी लगीं

ये वे बातें हैं जिनमें सुधार की ज़रूरत महसूस हुई:

  • PR शीर्षक: मैंने हर प्रॉम्प्ट में नामकरण पैटर्न बताया, लेकिन Devin हर बार नया फ़ॉर्मैट बना लाया।
  • डेटाबेस निष्ठा: एक टिकट पर यह Postgres पर माइग्रेट कर गया, और दूसरे पर चुपचाप SQLite वापस ले आया।
  • ACU अनुमान: विश्लेषण टिप्पणी में sandpack टिकट के लिए 1.5 ACUs बताए, वास्तविकता में दो सत्र और 5 ACUs लगे।
  • विश्वास बनाम निष्पादन: कम विश्वास वाला टिकट 3 मिनट में, और बिलकुल सही तरह से हो गया। उच्च विश्वास वाला 45 मिनट की चिरफ़ाड़ में लगा।

Jira पर Devin उम्मीद जगाता है: दो टिकट बेहतरीन बंद हुए, एक हल्के नजेस से, और सबसे बुरी स्थिति में भी केवल समय लगा, रोलबैक नहीं। लेकिन स्थिरता अभी नहीं आई है, इसलिए कड़ी स्कोपिंग और स्पष्ट बाधाएँ आपके सबसे अच्छे साथी हैं।

Jest और Playwright के साथ ऑटोमेटेड टेस्ट जोड़ें

जब चैट और टिकट्स चल पड़े, अगला कदम यह सुनिश्चित करना था कि टूटा हुआ कोड अंदर न घुस पाए। मैंने Devin से दो चीज़ें मांगीं: बैकएंड यूनिट टेस्ट और एंड-टू-एंड Playwright टेस्ट जो ब्राउज़र में किसी लर्नर के किसी अभ्यास को एडिट करने की नकल करें।

बैकएंड यूनिट टेस्ट: आश्चर्यजनक रूप से आसान

मैंने GraphQL रिज़ॉल्वर, सर्विस लेयर, और Prisma मॉडलों को कवर करने वाले Jest टेस्ट सूट्स के लिए कहा। जब मैंने ACU अनुमान पूछा, तो जवाब आया 20 ACUs!!

मुझे लगा यह गलती होगी और मैंने फिर भी काम शुरू कर दिया। इसमें 1.1 ACUs लगे, और यह अब तक का सबसे अच्छे से निष्पादित कार्य था।

Playwright e2e: लाल दीवार, हरी दीवार

यह थोड़ा महंगा रहा और 2.3 ACUs लगे।

रिकॉर्ड किया गया फ्लो: /learn/option-01 खोलें → कोड एडिट करें → ✓ का इंतज़ार करें → पेज रीफ़्रेश करें → ✓ बना रहता है।

पहली रन में, लगभग 70% एसेर्शंस फेल हुए। कई रीसाइज़ गड़बड़ियाँ थीं, डैशबोर्ड काउंट्स बासी थे, और यहाँ तक कि हैप्पी पाथ भी फ्लेक हुआ।

मेरे प्रॉम्प्ट में “फेल होते टेस्ट्स को इग्नोर करो, बाद में ठीक करेंगे” वाले निर्देश के बावजूद, Devin कोड पैच करता रहा जब तक कि सूट ज्यादातर हरा नहीं हो गया (उपयोगी, लेकिन यह नहीं जो मैंने कहा था)।

हमारे पास अभी भी कुछ फेल होते टेस्ट हैं क्योंकि सिस्टम में कई बग हैं। पर यह ठीक है, हम बाद में सब ठीक करेंगे ताकि ये सारे टेस्ट हरे हों।

वन-क्लिक GitHub Actions पाइपलाइन जोड़ें

यूनिट और एंड-टू-एंड टेस्ट सेट होने के बाद, आखिरी कदम यह सुनिश्चित करना था कि हर पुल रिक्वेस्ट उन चेक्स को ऑटोमैटिक चलाए। मैंने Devin से एक बेसिक वर्कफ़्लो मांगा, बिना आर्टिफैक्ट्स, बिना कवरेज गेट्स—सिर्फ लिंट → टाइप-चेक → टेस्ट्स।

Devin ने एक ही बार में चौंकाने वाला पॉलिश्ड पाइपलाइन दे दिया, किसी फॉलो-अप नज की जरूरत नहीं पड़ी:

  • शून्य कॉन्फ़िग ड्रिफ्ट: Devin ने मौजूदा npm स्क्रिप्ट्स का पुन: उपयोग किया, कोई नया टूल सीखने की ज़रूरत नहीं।
  • सब कुछ समानांतर: लिंट, टाइप-चेक, और दोनों टेस्ट सूट साथ-साथ चलते हैं, तो पूरा वर्कफ़्लो GitHub के फ्री रनर्स पर ~4 मिनट में खत्म हो जाता है।
  • स्पष्ट ट्रायज: अगर ESLint फेल हो और टेस्ट पास हों, तब भी समरी जॉब लिंट एरर रिपोर्ट करता है; आप कभी “आधा लाल” कोड मर्ज नहीं करते।

Devin ने वर्कफ़्लो पुश किया, GitHub में चेक पूरा होने का इंतज़ार किया, और तभी इसे पूरा माना। कहना पड़ेगा, पूरी तरह काम करती पाइपलाइन के लिए 0.4 ACU हारना मुश्किल है। YAML साफ़ तौर पर Devin की पसंदीदा जगह है।

इस वर्कफ़्लो के मर्ज होते ही, हर PR को लिंट, कम्पाइल, और दोनों टेस्ट सूट पास करने होंगे—तभी कोई हरा बटन दबा सकेगा!

Devin का इन-प्रोडक्ट Wiki

Devin एक इनबिल्ट “Wiki” के साथ आता है जो आपके कोड के साथ रह सकता है। यह एक हल्का, ऑटो-जनरेटेड नॉलेज बेस है जिसे एजेंट काम करते समय पढ़ भी सकता है और लिख भी सकता है। Slack, Jira, और CI कनेक्ट करने के बाद, यह Wiki आर्किटेक्चरल नोट्स के लिए अच्छी जगह है। इसे देखना बनता है!

devin wiki

मेरी जानकारी में, यह मैन्युअली एडिटेबल नहीं है, और आपको Wiki को अपडेट रखने के लिए Devin पर ही निर्भर रहना होगा।

लागत और समय झलक तथा विचार

जब सभी इंटीग्रेशंस, टेस्ट, और पाइपलाइन लाइव हो गए, तो मैंने बिल और समय का हिसाब लगाया:

कार्य खंड

ACUs

हैंड्स-ऑन समय

टिप्पणियाँ

Slack और Jira कनेक्शन

0.0

10 मिनट

मैनुअल OAuth क्लिक; कोई एजेंट समय नहीं।

5 Jira टिकट

9.4

2 घंटे नज-एंड-रिव्यू

दो टिकट ठीक थे, एक को नज और रिट्राइ और टेस्ट्स की ज़रूरत पड़ी, एक SQLite स्वैप पर अटक गया।

Jest यूनिट सूट (API)

1.1

5 मिनट समीक्षा

Devin का “20 ACU” डर 1-ACU के मोती में बदला।

Playwright e2e सूट (वेब)

2.3

10 मिनट समीक्षा

Devin ने “कोड मत ठीक करो” को नज़रअंदाज़ किया, पैच करता रहा जब तक 3 टेस्ट लाल नहीं रह गए।

GitHub Actions पाइपलाइन

0.4

3 मिनट ट्यूनिंग

एक पेज YAML; पहली बार में हरा।

कुल

13.2 ACUs

≈ 2h 30m

≈ $30 Core प्राइस टियर पर।

तो, टिकट्स, टेस्ट्स, और CI पुश कराने में लगभग 2 घंटे का मानवीय प्रयास। यह निश्चित रूप से मुझसे तेज़ है।

इस बिंदु पर, हालांकि, मैं दुविधा में हूँ। अभी भी बहुत सारे बग हैं, और अगर मैंने पूरा कोडबेस खुद लिखा होता, तो शायद मैं Devin के क्रेडिट्स जलने से तेज़ी से मुद्दे ठीक कर पाता।

पर Devin ने ऐप का ज़्यादातर हिस्सा लिखा है, तो एजेंट वास्तव में संरचना को मुझसे बेहतर “जानता” है। फिर भी, इसे हार्डकोडेड मानों को डायनेमिक से बदलने में दिक्कत होती है, यह हर फ़ाइल में ढीले सिरे छोड़ देता है, और इसे अपने हर एक्शन की नर्सरी करने के लिए मुझे लैपटॉप के सामने बैठना पड़ता है।

मुझे यह प्रक्रिया थोड़ी निराशाजनक भी लगी—वैसे नहीं जैसे किसी पकड़ से बाहर बग का पीछा करते समय लगती है। कोड के न चलने से होने वाली झुंझलाहट और किसी AI एजेंट के बुनियादी निर्देश न मानने से होने वाली झुंझलाहट में (कम से कम मेरे लिए) बहुत फर्क है। बाद वाली तो सचमुच चिढ़ा देने वाली है।

मेरा मानना है कि Devin सही ढंग से इस्तेमाल किए जाने पर बहुत मददगार हो सकता है, लेकिन हर AI एजेंट की तरह, यह एक सॉफ्टवेयर इंजीनियर का विकल्प नहीं हो सकता। कुछ कार्यों में इसका इस्तेमाल ठीक है, पर हर टिकट के लिए इसे इस्तेमाल करना बहुत उपयुक्त या टिकाऊ नहीं लगता।

आगे क्या?

हम Slack और Jira से जुड़े हैं, टेस्ट हरे हैं, और CI गेट हर लापरवाह PR को रोकता है। लेकिन असली प्रोडक्शन लॉन्च के लिए, चार स्तंभ अभी भी गायब हैं:

  1. ऑथेंटिकेशन: NextAuth क्रेडेंशियल्स → JWT कुकीज → NestJS में GqlAuthGuard वायर करें ताकि प्रोग्रेस असली यूज़र्स से जुड़ी हो।
  2. सिक्योरिटी हार्डनिंग: वेब और API दोनों रनटाइम्स में Sentry एरर-ट्रैकिंग।
  3. कॉन्टिन्युअस डिप्लॉयमेंट: एक Vercel (वेब) पाइपलाइन जो हर ब्रांच पर प्रीव्यू URLs बनाती है और जब मुख्य ब्रांच हरी होती है, तो prod में प्रमोट करती है।

यही एजेंडा है भाग 4 का—अंतिम चरण जिसमें हम जानेंगे कि क्या Devin लगभग बिना मानवीय दखल के ऐप को सुरक्षित, डिप्लॉय, और संभाल सकता है। अपने डेटाबेस को Postgres पर पिन करें (फिर से!), ACUs पर कैप लगाएँ, और मिलते हैं अंतिम अध्याय में।

यदि आप आगे बढ़ने के लिए तैयार हैं, तो नीचे अंतिम सूची आइटम पर क्लिक करें और चौथे ट्यूटोरियल पर जाएँ:

  1. सेटअप और पहला पुल रिक्वेस्ट (भाग 1)
  2. Devin के साथ एक वर्टिकल स्लाइस शिप करना (भाग 2) 
  3. इंटीग्रेशंस, टेस्टिंग, और CI/CD (भाग 3) 
  4. सिक्योरिटी, डिप्लॉयमेंट, मेंटेनेंस (भाग 4)

Marie Fayard's photo
Author
Marie Fayard

मैं एक प्रोडक्ट-उन्मुख टेक लीड हूं, जो शुरुआती चरण के स्टार्टअप्स को पहले प्रोटोटाइप से लेकर प्रोडक्ट–मार्केट फिट और उससे आगे तक बढ़ाने में विशेषज्ञता रखता/रखती हूं। मुझे यह जानने में गहरी दिलचस्पी है कि लोग तकनीक का उपयोग कैसे करते हैं, और मुझे संस्थापकों व क्रॉस-फ़ंक्शनल टीमों के साथ मिलकर साहसिक विचारों को साकार करना पसंद है। जब मैं प्रोडक्ट नहीं बना रहा/रही होता/होती, तब मैं दुनिया के नए कोनों में प्रेरणा की तलाश में रहता/रहती हूं या योग स्टूडियो में जाकर मन हल्का करता/करती हूं।

विषय
एआई एजेंट्स
कृत्रिम बुद्धिमत्ता

इन कोर्सेज़ के साथ AI एजेंट बनाएं:

कोर्स

AI Agents परिचय

1 घंटा 30 मिनट
146.4K
AI एजेंटों की मूल बातें, उनके घटक और वास्तविक उपयोग सीखें—कोडिंग की जरूरत नहीं।
विवरण देखेंपाठ्यक्रम शुरू करें

अपना निःशुल्क खाता बनाएँ

अभ्यास और ट्रैक अपनी प्रगति को।

Google के साथ जारी रखें
जारी रखने पर, आप हमारी उपयोग की शर्तें, हमारी गोपनीयता नीति को स्वीकार करते हैं और यह भी कि आपका डेटा संयुक्त राज्य अमेरिका में संग्रहीत किया जाता है।
और देखें