Webjob की स्टेजिंग स्लॉट नहीं रोक के बाद एक पाइप लाइन में तैनात नीला Devops

0

सवाल

में से कुछ में तैनात मैं कर रहा हूँ करने के लिए एक App Service संसाधन होता है कि 2 स्लॉट (एक production और staging स्लॉट), के webjob का मंचन नहीं है रोक के बाद स्वैप के स्लॉट.

मूल रूप से मैं अपने पाइपलाइन निम्न कार्य:

## Start App Service (staging)
- task: AzureAppServiceManage@0
  displayName: 'Start Azure App Service: some-app-webjob (staging)'
  inputs:
    azureSubscription: 'xxx'
    Action: 'Start Azure App Service'
    WebAppName: 'some-app-webjob'
    SpecifySlotOrASE: true
    ResourceGroupName: 'some-rg-app-webjob'
    Slot: staging
##Start staging continuous webjob
- task: AzureAppServiceManage@0
  displayName: 'Start all continuous webjobs: some-app-webjob (staging)'
  inputs:
    azureSubscription: 'Subscrição do Visual Studio Enterprise(c9f20c2b-15cf-41fb-8122-ddf095c6db02)'
    Action: 'Start all continuous webjobs'
    WebAppName: 'some-app-webjob'
    SpecifySlotOrASE: true
    ResourceGroupName: 'some-rg-app-webjob'
    Slot: 'staging'

## Swap Slots (staging to production)
- task: AzureAppServiceManage@0
  displayName: 'Swap Slots: some-app-webjob'
  inputs:
    azureSubscription: 'xxx'
    WebAppName: 'some-app-webjob'
    ResourceGroupName: 'some-rg-app-webjob'
    SourceSlot: staging
    TargetSlot: production

# Stop WebJobs running Staging
- task: AzureAppServiceManage@0
  displayName: 'Stop all continuous webjobs: some-app-webjob (staging)'
  inputs:
    azureSubscription: 'xxx'
    Action: 'Stop all continuous webjobs'
    WebAppName: 'some-app-webjob'
    SpecifySlotOrASE: true
    ResourceGroupName: 'some-rg-app-webjob'
    Slot: staging
    
## Stop App Service (staging)
- task: AzureAppServiceManage@0
  displayName: 'Stop Azure App Service: some-app-webjob (staging)'
  inputs:
    azureSubscription: 'xxx'
    Action: 'Stop Azure App Service'
    WebAppName: 'some-app-webjob'
    SpecifySlotOrASE: true
    ResourceGroupName: 'some-rg-app-webjob'
    Slot: staging

अगर मैं जाने के लिए देखो करने के लिए अपने स्लॉट मचान अनुप्रयोग सेवा बंद कर दिया है । लेकिन कभी कभी workjob चल रहता है, जबकि यह नहीं होना चाहिए । के बाद से मैं एक काम करना चाहिए कि शीर्ष के सभी सतत webjobs के बाद स्वैप के साथ उत्पादन.

में संक्षेप में यह हो सकता है:

  • सतत webjob में स्लॉट मंचन चल रहा है
  • सतत webjob स्लॉट में उत्पादन चल रहा है

खोज के बाद, मैं इस पाया github धागा https://github.com/projectkudu/kudu/issues/1886 यह इंगित करता है कि webjobs में चल रहे हैं scm साइट से प्रभावित नहीं है जो रोक साइट कमान. फिर भी, मैं एक काम है कि माना जाता है कि बंद हो जाता है सभी निरंतर webjobs.

वहाँ किसी भी कारण से ऐसा करने के लिए? कैसे कर सकते हैं हम इस को रोकने के? मैं नहीं चाहता कि एक webjob के साथ पुराने कोड चल रहा है के बाद एक को तैनात ।

1

सबसे अच्छा जवाब

1

तैनात करने के लिए एक सतत WebJob में एक बंद राज्य बस जोड़ने के लिए एक फ़ाइल कहा जाता है disable.job की जड़ में अपने WebJob (बायनेरिज़), यह बताना होगा कि ढांचे के WebJob वर्तमान में बंद कर दिया.

आप जोड़ सकते हैं, आवेदन की स्थापना WEBJOBS_STOPPED करने के लिए अपने मचान स्लॉट और इसे स्थापित करने के लिए 1 (में azure पोर्टल). इस सेटिंग 'स्लॉट सेटिंग' इतना है कि यह नहीं है के साथ बदली उत्पादन.

यह है क्या होता है जब आप स्वैप एक स्रोत स्लॉट (मचान) में एक लक्ष्य स्लॉट (उत्पादन).

  • सबसे पहले, मचान साइट की जरूरत के माध्यम से जाने के लिए कुछ सेटिंग परिवर्तन के लिए एप्लिकेशन की स्थापना और कनेक्शन कर रहे हैं कि तार के रूप में चिह्नित के रूप में 'स्लॉट'. वहाँ भी कर रहे हैं अन्य परिवर्तन करने के लिए संबंधित स्रोत नियंत्रण में हो सकता है कि करने के लिए की जरूरत लागू किया जा सकता है. इस कारण मचान साइट को पुनरारंभ करने के लिएहै, जो ठीक है.

  • अगला, मचान साइट गरम हो जाता है, एक अनुरोध भेजा करने के लिए अपने रूट पथ (यानी '/'), और प्रतीक्षा के लिए यह पूरा करने के लिए ।

  • अब है कि मचान की साइट है, यह गर्म हो जाता है में बदली उत्पादन. वहाँ है कोई नीचे समय के बाद से, यह सीधे जाता है के साथ एक गर्म साइट के लिए एक दूसरे से.

  • अंत में, साइट है कि इस्तेमाल किया जा करने के लिए उत्पादन और अब मचान भी जरूरत प्राप्त करने के लिए कुछ सेटिंग्स लागू होते हैं, जिससे इसे पुनः आरंभ करने के लिए. फिर से, यह ठीक है के बाद से यह होता है के मंचन में साइट.

मैं नहीं चाहता कि एक webjob के साथ पुराने कोड चल रहा है के बाद एक को तैनात ।

  • की जाँच करें अगर आप एक चरण में पर्यावरण (add-चरण के लिए Webapp नाम) और यदि ऐसा है तो में जाने के लिए Azure प्रबंधन पोर्टल और उन्हें रोकने के.

  • यह पर्याप्त नहीं है को रोकने के लिए Webapp है, तो आप चाहिए बंद करो WebJobs सीधे. यह किया जाता है (में नए पोर्टल) के तहत सेटिंग्स->WebJobs और फिर ठीक पर क्लिक webjobs नाम का चयन बंद करो.

कृपया देखें नीला वेब क्षुधा (वेबसाइटों) तैनाती स्लॉट में अधिक जानकारी के लिए.

2021-11-24 08:07:57

हैलो @HarshithaVeeramalla-मीट्रिक टन मुझे लगता है कि झंडा WEBJOBS_STOPPED एक महान समाधान लागू करने के लिए स्टेजिंग स्लॉट है । यह शान से रोक webjob था जो बदली?
Nmaster88

का उल्लेख कृपया का प्रबंधन WebJobs
HarshithaVeeramalla-MT

WEBJOB_STOPPED के एक मूल्य के साथ 1 को रोकने के लिए सभी WebJobs चल रहा है पर अपनी साइट. यह हो सकता है के रूप में काम का एक तरीका को रोकने के लिए परस्पर विरोधी WebJobs से चल रहा है दोनों में मचान और उत्पादन स्लॉट ।
HarshithaVeeramalla-MT

धन्यवाद, मैं पहले से ही पढ़ा है, लेकिन यह करता है करने के लिए प्रतीत नहीं हो सकता है स्पष्ट कैसे यह बंद हो जाता है निरंतर webjobs. यह सिर्फ कहते हैं, यह बंद हो जाता है, मुझे लगता है यह मारता है प्रक्रिया.
Nmaster88

के लिए सतत, आप यह कर सकते हैं बस डाल द्वारा कहा जाता है एक फ़ाइल "को निष्क्रिय.नौकरी" की जड़ में WebJob निर्देशिका.
HarshithaVeeramalla-MT

कृपया निरंतर WebJob बिंदु 6
HarshithaVeeramalla-MT

मैं आवेदन कर रहा हूँ के WEBJOBS_STOPPED झंडा करने के लिए दोनों स्टेजिंग स्लॉट है । यह बंद हो जाता है दोनों सतत और ट्रिगर webjpbs से चल रहा है की तरह एक आकर्षण है ।
Nmaster88

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में