एजेंट को Azure से तैनात करें

आपने अपना एजेंट बनाया और स्थानीय स्तर पर उसका परीक्षण किया। अब, इसे क्लाउड में जीवंत करें। यह चरण वैकल्पिक है। यदि आपने पहले से ही अपने एजेंट को किसी क्लाउड पर तैनात किया है (यह जरूरी नहीं कि वह Azure हो), तो आप इस चरण को छोड़ सकते हैं।

यह मार्गदर्शिका आपको अपने एजेंट कोड को Azure पर डिप्लॉय करने और उसे Microsoft एडमिन सेंटर में प्रकाशित करने की प्रक्रिया समझाती है, जहाँ यह आपकी संस्था के लिए एक पंजीकृत संपत्ति बन जाता है।

मैसेजिंग एंडपॉइंट को अपडेट करने के लिए, निम्न संसाधन देखें। ये दिखाते हैं कि यदि आपने अपने एजेंट को Amazon Web Services या Google Cloud Platform जैसे अन्य क्लाउड प्रदाताओं पर तैनात किया है, तो आप मैसेजिंग एंडपॉइंट को कैसे अपडेट कर सकते हैं।

आवश्यकताएँ

इससे पहले कि आप प्रारंभ करें, यह सुनिश्चित करें कि आपके पास निम्न वस्तुएँ मौजूद हैं:

ज़रूरी अकाउंट और अनुमतियाँ

  • योगदानकर्ता पहुंच सहित Azure सदस्यता।
  • कार्यशील एजेंट कोड जिसमें एक वैध और पहुँच योग्य मैसेजिंग एंडपॉइंट हो। सुनिश्चित करें कि आपने अपने एजेंट का स्थानीय रूप से परीक्षण किया है और वैकल्पिक रूप से Dev Tunnels का उपयोग करके Microsoft 365 के साथ परीक्षण किया है ताकि यह सत्यापित किया जा सके कि एजेंट कोड बनाया जा सकता है और अपेक्षित रूप से चलाया जा सकता है।
  • सेटअप एजेंट ब्लूप्रिंट चरण को पूरा करके मान्य एजेंट ब्लूप्रिंट।
  • अप-टू-डेट कॉन्फ़िगरेशन फ़ाइलें a365.config.json, a365.generated.config.json, और कोड में कॉन्फ़िगरेशन फ़ाइल (जैसे .env फ़ाइल)।

आवश्यक उपकरण

  • Azure CLI स्थापित और प्रमाणित (Azure CLI स्थापित करें)

Azure में परिनियोजन करें

मानक Azure टूलिंग (जैसे Azure CLI, Azure पोर्टल, या GitHub Actions) का उपयोग करके अपने एजेंट एप्लिकेशन कोड को Azure में परिनियोजित करें।

एजेंट अनुप्रयोग परिनियोजित करें

अपने एप्लिकेशन को डिप्लॉय करने के लिए Azure CLI az webapp deploy आदेश का उपयोग करें:

# Build your project first (example for .NET)
dotnet publish -c Release -o ./publish

# Deploy to Azure Web App
az webapp deploy --name <your-web-app> --resource-group <your-resource-group> --src-path ./publish

GitHub क्रियाओं के लिए, Azure Web Apps Deploy क्रिया का उपयोग करें।

चेतावनी

सीक्रेट्स प्रबंधन: एपीआई कुंजियों और सीक्रेट्स सहित पर्यावरण चर को कोड या कॉन्फ़िगरेशन फ़ाइलों के बजाय Azure App Settings के रूप में संग्रहीत करें। उत्पादन वातावरण के लिए, संवेदनशील रहस्यों के लिए Azure Key Vault का उपयोग करें। ASP.NET Core में विकास के दौरान ऐप रहस्यों के सुरक्षित भंडारण और Azure Key Vault कॉन्फ़िगरेशन प्रदाता के बारे में अधिक जानकारी प्राप्त करें। संवेदनशील जानकारी वाली .env फ़ाइलों को कभी भी सोर्स कंट्रोल में commit न करें।

परिनियोजन सत्यापित करें

परिनियोजन समाप्त होने के बाद, सत्यापन के लिए इस सूची और निम्न अनुभागों में दिए गए निर्देशों का उपयोग करें।

✅ परिनियोजन कमांड बिना किसी त्रुटि के पूर्ण हुआ
✅ ेवेब ऐप चल रहा है
✅ एप्लिकेशन लॉग में सफल आरंभ दर्शित है
✅ पर्यावरण चर कॉन्फ़िगर किए गए हैं
✅ मैसेजिंग एंडपॉइंट जवाब देता है

सुनिश्चित करें कि परिनियोजन कमांड बिना त्रुटि के पूर्ण हुआ है

परिनियोजन समाप्त होने के बाद, परिनियोजन लॉग में सफलता की जाँच करें:

  1. Azure पोर्टल में अपने वेब अनुप्रयोग पर जाएँ।
  2. ऐप सेटिंग्स को सत्यापित करने के लिए Settings>Configuration पर जाएं।
  3. परिनियोजन केंद्र में परिनियोजन लॉग की जाँच करें।

विस्तृत परिनियोजन इतिहास देखने के लिए:

  1. Azure पोर्टल > पर जाएँ आपका वेब अनुप्रयोग
  2. परिनियोजन>परिनियोजन केंद्र
  3. अपने नवीनतम परिनियोजन के लिए लॉग देखें

यदि बिल्ड विफल हो जाता है:

  • निर्माण कार्यों की पुष्टि करने के लिए पहले स्थानीय रूप से साफ करें और पुनर्निर्माण करें।
  • अनुपलब्ध निर्भरताओं या सिंटैक्स त्रुटियों के लिए जाँच करें।
  • परिनियोजन आदेश विफल हो जाता है देखे।

यदि परिनियोजन के बाद ऐप क्रैश हो जाता है:

सत्यापित करें कि वेब ऐप चल रहा है

वेब ऐप के चलने की पुष्टि के लिए az webapp show कमांड का उपयोग करें।

az webapp show --name <your-web-app> --resource-group <your-resource-group> --query state

इस कमांड का अपेक्षित आउटपुट है Running।

सुनिश्चित करें कि अनुप्रयोग लॉग सफल स्टार्टअप दर्शाते हैं

Azure पोर्टल में वेब ऐप लॉग देखने के लिए:

  1. Azure पोर्टल में वेब ऐप को उसके नाम के आधार पर खोजें।
  2. ओवरव्यू>लॉग्स>लॉग स्ट्रीम पर जाएं।

वैकल्पिक रूप से, आप वेब ऐप लॉग पढ़ने के लिए PowerShell az webapp log tail कमांड का उपयोग कर सकते हैं:

az webapp log tail --name <your-web-app> --resource-group <your-resource-group>

यदि लॉग में क्रैश या त्रुटि संदेश हैं, तो Application crashes on startup अनुभाग देखें।

सत्यापित करें कि एनवायरनमेंट वेरिएबल्स कॉन्फ़िगर किए गए हैं

Azure पोर्टल पर:

  1. अपने वेब ऐप पर जाएं।
  2. सेटिंग्स>पर्यावरण वेरिएबल्स पर जाएँ.
  3. सत्यापित करें कि आपकी सेटिंग्स मौजूद हैं।

यदि परिवेश चर सेट नहीं हैं:

सुनिश्चित करें कि संदेश समापन बिंदु उत्तर दे रहा है

परीक्षण करें कि आपके वेब एप्लिकेशन के अवलोकन पृष्ठ पर पाया गया समापन बिंदु PowerShell या अन्य माध्यमों से मौजूद है या नहीं। अन्यथा, संदेश समापन बिंदु पर 404 त्रुटि देखें।

अगले चरण

अब, अपने एजेंट अनुप्रयोग को Microsoft व्यवस्थापन केंद्र में प्रकाशित करें ताकि आप उससे एजेंट इंस्टेंस और उपयोगकर्ता बना सकें।

आपका एजेंट अब क्लाउड में लाइव है और एजेंट अनुरोधों का जवाब देने के लिए तैयार है। जब आपका एजेंट वास्तविक दुनिया के अनुरोधों को संभालता है, अपने कोड के लिए इन अगले चरणों पर विचार करें:

  • प्रदर्शन की निगरानी करें: एजेंट के व्यवहार को ट्रैक करने और प्रत्युत्तरों को अनुकूलित करने के लिए अवलोकन सुविधाओं का उपयोग करें।
  • अधिक टूल जोड़ें: अपने एजेंट की क्षमताओं का विस्तार करने के लिए टूलींग कैटलॉग का अन्वेषण करें।
  • दोहराएं और सुधारें: अपने एजेंट कोड को अपडेट करें, फिर से तैनात करें और फिर से प्रकाशित करें (संस्करण संख्या बढ़ाना न भूलें!).
  • अपने संगठन में विस्तार करें: अपनाने के लिए अपने एजेंट की सफलता की कहानियाँ साझा करें।

समस्‍या निवारण

यह अनुभाग Azure पर एजेंटों को परिनियोजित करते समय सामान्य समस्याओं का वर्णन करता है।

टिप

Agent 365 समस्या निवारण मार्गदर्शिका में उच्च-स्तरीय समस्या निवारण अनुशंसाएँ, सर्वोत्तम प्रथाएँ, और Agent 365 विकास जीवनचक्र के प्रत्येक भाग के लिए समस्या निवारण सामग्री के लिंक शामिल हैं.

परिनियोजन कमांड विफल

लक्षण: Azure के लिए परिनियोजन विफल होता है।

सामान्य कारण और समाधान:

  • बिल्ड त्रुटियाँ

    विस्तृत संकलन त्रुटियाँ देखने के लिए प्रोजेक्ट को स्थानीय रूप से पुनः बनाएं:

    # .NET
    dotnet clean
    dotnet build --verbosity detailed
    
    # Python
    uv build
    
    # Node.js
    npm install
    npm run build
    
  • Azure प्रमाणीकरण समाप्त हो गया

    Azure में फिर साइन इन करें:

    az login
    az account show  # Verify correct subscription
    
  • वेब अनुप्रयोग नहीं बनाया गया

    लक्ष्य मौजूद होने की पुष्टि करने के लिए वेब ऐप्स की सूची बनाएं:

    # List Web Apps in resource group
    az webapp list --resource-group <your-resource-group> --output table
    
  • परिनियोजन लॉग की जाँच करें

    विस्तृत परिनियोजन लॉग देखने के लिए az webapp log tail कमांड का उपयोग करें:

    az webapp log tail --name <your-app-name> --resource-group <your-resource-group>
    
  • सत्यापन:

    # Web App should be running
    az webapp show --name <your-app-name> --resource-group <your-resource-group> --query state
    # Expected: "Running"
    

वेब ऐप बंद है

लक्षण: परिनियोजन सफल होता है लेकिन वेब ऐप नहीं चल रहा है।

समाधान: वेब ऐप को शुरू करने और यह सत्यापित करने के लिए कि यह चल रहा है, az webapp start और az webapp show का उपयोग करें।

# Start the Web App
az webapp start --name <your-app> --resource-group <your-resource-group>

# Verify it's running
az webapp show --name <your-app> --resource-group <your-resource-group> --query state

स्टार्टअप पर अनुप्रयोग क्रैश

लक्षण: वेब अनुप्रयोग प्रारंभ होता है लेकिन तुरंत क्रैश हो जाता है; लॉग त्रुटियाँ दिखाते हैं।

सामान्य कारण:

  • आवश्यक निर्भरताएं अनुपस्थित हैं - यह सुनिश्चित करने के लिए बिल्ड आउटपुट की जाँच करें कि उसमें सभी आवश्यक पैकेज शामिल हैं।
  • अनुपलब्ध परिवेश चर - सत्यापित करें कि सभी आवश्यक सेटिंग्स कॉन्फ़िगर की गई हैं।
  • रनटाइम संस्करण बेमेल - सुनिश्चित करें कि Azure रनटाइम आपके विकास परिवेश से मेल खाता है।
  • कोड त्रुटियाँ - विशिष्ट अपवादों के लिए एप्लिकेशन लॉग की जाँच करें।

समाधान: लॉग देखने, पर्यावरण वेरिएबल जांचने और गायब वेरिएबल सेट करने के लिए az webapp log tail, az webapp config appsettings list, और az webapp config appsettings set कमांड का उपयोग करें।

# View application logs
az webapp log tail --name <your-app> --resource-group <your-resource-group>

# Check environment variables
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Manually set a missing variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings KEY=VALUE

404 मैसेजिंग एंडपॉइंट पर

लक्षण: वेब अनुप्रयोग चल रहा है लेकिन /api/messagesसमापन बिंदु 404 त्रुटि लौटाता है।

समाधान:

  1. अपने एजेंट कोड में रूट कॉन्फ़िगरेशन की जाँच करें।
  2. जांचें कि समापन बिंदु हैंडलर ठीक से पंजीकृत है।
  3. सुनिश्चित करें कि तैनाती में सही प्रवेश बिंदु निर्दिष्ट है।

समापन बिंदु का परीक्षण करने के लिए URL पर GET अनुरोध भेजें। वेब ऐप कॉन्फ़िगरेशन की जांच करने के लिए az webapp config show कमांड का उपयोग करें।

curl https://<your-app-name>.azurewebsites.net/api/messages
az webapp config show --name <your-app> --resource-group <your-resource-group>

पर्यावरण चर सेट नहीं किए गए हैं या गलत हैं

लक्षण: परिनियोजन सफल होता है लेकिन एजेंट काम नहीं करता है; लॉग में कॉन्फ़िगरेशन की कमी से संबंधित त्रुटियाँ हैं।

समाधान: पर्यावरण चर को सत्यापित और अद्यतन करें। पर्यावरण चर की जांच करने के लिए az webapp config appsettings list, और az webapp config appsettings set कमांड का उपयोग करें और लापता चर सेट करें। फिर से तैनात करें।

# List all app settings
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Set a specific variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings API_KEY=your-value

बिल्ड स्थानीय रूप से सफल होता है लेकिन Azure में विफल रहता है

लक्षण: कोड स्थानीय रूप से सफलतापूर्वक बनता है, लेकिन Azure परिनियोजन के दौरान असफल हो जाता है।

समाधान:

  • प्लेटफ़ॉर्म-विशिष्ट निर्भरताओं की जाँच करें

    • कुछ पैकेजों में प्लेटफ़ॉर्म-विशिष्ट बिल्ड होते हैं।
    • सुनिश्चित करें कि निर्भरताएँ लिनक्स का समर्थन करती हैं (Azure वेब ऐप्स डिफ़ॉल्ट रूप से लिनक्स पर चलते हैं)।
  • रनटाइम संस्करणों का मिलान सुनिश्चित करें

    इन आदेशों को चलाएँ:

    # Check your local version
    dotnet --version  # .NET
    node --version    # Node.js
    python --version  # Python
    

    पोर्टल में Azure रनटाइम के साथ तुलना करें: सेटिंग्स>कॉन्फ़िगरेशन>सामान्य सेटिंग्स>स्टैक सेटिंग्स।

अधिक सहायता हेतु देखें: मैसेजिंग एंडपॉइंट समस्या निवारण.