Azure DevOps, YAML पाइपलाइन जारी करें? [बन्द है]


85

मैं एक .NET कोर वेब एपीआई परियोजना के लिए एक YAML बिल्ड पाइपलाइन बनाने के लिए इस प्रक्रिया का पालन कर रहा हूं:

https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts

जब इसे जारी करने की बात आती है, तो मैं ध्यान देता हूं कि (हाल ही में बदला हुआ) Azure DevOps रिलीज पाइपलाइनों को परिभाषित करने के लिए YAML का समर्थन नहीं करता है। हालाँकि, मैं देख सकता हूँ कि परिनियोजन कार्यों को परिभाषित किया गया है जैसे:

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment?view=vsts

क्या हम YAML का समर्थन करने के लिए रिलीज़ पाइपलाइन कार्यक्षमता के उन्नयन की उम्मीद कर रहे हैं और, यदि हां, तो कब?


जल्द ही, बिल्ड 2019 पर: youtube.com/watch?v=ORy3OeqLZlE मल्टी-स्टेज पाइपलाइन (और रिलीज YAML) अब पूर्वावलोकन में है। पूर्वावलोकन सुविधाएँ मेनू आइटम में इसे सक्षम करें।
nullforce

2
क्या कोई मुझे यह समझने में मदद कर सकता है कि यह सवाल ऑफ़ टॉपिक क्यों है? मेरे लिए यह स्टैकओवरफ्लो के लिए अच्छे सवाल की तरह लगता है।
तोबसेक

जवाबों:


58

इस प्रतिक्रिया को लिखने के समय सुविधाएँ समयरेखा दर्शाती हैं कि यमल रिलीज़ 2018 Q3 में आ रही है।

https://docs.microsoft.com/en-us/azure/devops/release-notes/

अद्यतन: यह कुछ बार टकरा गया है। नीचे दिए गए टिप्पणियों की जाँच करने की सिफारिश की गई है क्योंकि लोग उन्हें ढूंढते हुए अपडेट प्रदान कर रहे हैं।

अपडेट करें

टिप्पणियों के अनुसार, यह अब संभव है: https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ । निम्नलिखित को लेख से कॉपी और पेस्ट किया जाता है और विभिन्न चरणों का उपयोग करके प्रदर्शित किया जाता है:

stages:
- stage: Build
  jobs:
  - job: Build
    pool:
      vmImage: 'Ubuntu-16.04'
    continueOnError: true
    steps:
    - script: echo my first build job
- stage: Deploy
  jobs:
    # track deployments on the environment
  - deployment: DeployWeb
    pool:
      vmImage: 'Ubuntu-16.04'
    # creates an environment if it doesn’t exist
    environment: 'smarthotel-dev'
    strategy:
      # default deployment strategy
      runOnce:
        deploy:
          steps:
          - script: echo my first deployment

9
अब यह 2018 Q4 के फीचर्स में है।
sschoof


6
मैं कल ट्विटर के जरिए बाहर पहुंचा। मार्च के अंत तक निजी पूर्वावलोकन में जाने के उद्देश्य के साथ मिनट पर रिलीज की परिभाषा पर काम किया जा रहा है। पर पूर्ण धागा twitter.com/gopinach/status/1088320931745935360?s=21
rh072005

5
नवीनतम कार्य आइटम इसे ट्रैक कर रहा है - dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1364226
antmeehan


6

YAML बिल्ड पाइपलाइन निर्माण अनुभव पूर्वावलोकन में है। (आज 2018-12-04 है)

रिलीज पाइपलाइनों के लिए YAML अभी भी एक तरीका है: 2019 Q2

पूर्वावलोकन सुविधाओं को इस तरह से आपकी प्रोफ़ाइल से सक्षम किया जा सकता है:

प्रोफ़ाइल मेनू

YAML सुविधा

संपादित करें: जैसा कि nullforce टिप्पणियों में इंगित करता है, यह केवल पाइपलाइन बनाने और पाइपलाइन जारी नहीं करने के लिए एक YAML अनुभव को सक्षम करता है।

अद्यतन (2019-05-16): Microsoft के "बिल्ड 2019" के बाद, बिल्ड और परिनियोजन के लिए पूर्ण YAML अनुभव अब एक ही YAML पाइपलाइन फ़ाइल में संभव होना चाहिए।


3
यह प्रश्न रिलीज़ पाइपलाइनों के बारे में पूछ रहा है, बिल्ड पाइपलाइनों के बारे में नहीं। आपके द्वारा इंगित पूर्वावलोकन सुविधा केवल बिल्ड पाइपलाइन YAML को चालू करती है।
nullforce

@nullforce शुक्रिया, मैंने आपके सुधार को मेरे उत्तर में जोड़ दिया है, और यदि इसे पाइपलाइन जारी करने के लिए सक्षम किया जाता है या जब यम पूर्वावलोकन पूर्वावलोकन से बाहर आता है, तो इसे अद्यतन रखने की कोशिश करेंगे।
जिम वोल्फ

1
यह अभी भी उपलब्ध नहीं है।
ATL_DEV

@ATL_DEV आपको इस बारे में विस्तृत जानकारी दे सकता है या संसाधनों से लिंक कर सकता है, इसलिए मैं उत्तर को सही कर सकता हूं। मेरे लिए ऐसा लगता है कि यह उपलब्ध है: डॉक्स
जिम वोल्फ

@Jim Wolff-- Microsoft झूठे हैं! रिलीज और परिनियोजन भागों को केवल इसके गंदे यूआई के माध्यम से ही कॉन्फ़िगर किया जा सकता है।
ATL_DEV

5

उत्पाद टीम इस पर काम कर रही है। आप रिलीज़ नोट्स के माध्यम से अपडेट को ट्रैक कर सकते हैं


1
"उत्पाद टीम" ने 1 वर्ष के बाद कुछ भी नहीं किया है। Azure Dev Ops UI अभी भी भयानक है और तैनाती के लिए yaml समर्थन है और अभी भी सभी खाली वादों के बावजूद वहां नहीं है। प्रलेखन अस्तित्वहीन है और पूरे नेट में बिखरा हुआ है, Azure Dev Ops उपयोग करने के लिए एक शानदार है! Microsoft को कुछ और करना चाहिए,
ATL_DEV

सिर्फ तकनीकी सटीकता के लिए - उस टिप्पणी के बावजूद नवंबर, 2019 में पोस्ट किए जाने के बावजूद कि तैनाती के लिए YAML समर्थन "अभी भी नहीं है," यह वास्तव में मई, 2019 में Azure DevOps (कोई स्थान) में जोड़ा गया था। अन्य उत्तर। इस पर टिप्पणियाँ अधिक मिलती हैं। बस यह सुनिश्चित करना चाहता था कि इसे पढ़ने वाला कोई व्यक्ति गलत विचार प्राप्त करे।
माइकबैज़ -

4

मैं इस क्षण को इस तरह से सही करने के बीच में हूं, लेकिन मैं वर्तमान रीस्ट एपीआई का उपयोग कर रहा हूं। मैं यहां जो कुछ भी प्रलेखित किया गया है, उसके समान क्या कर रहा हूं ( आप वीएसटीएस में रिलीज की परिभाषा कैसे आयात करते हैं? )। मूल रूप से मैं एक अस्थायी JSON रिलीज़ पाइपलाइन फ़ाइल को वेरिएबल प्लेसहोल्डर्स के साथ स्रोत कोड रिपॉजिटरी में सहेज रहा हूं, और एक संस्करण संख्या एम्बेडेड है। फिर एक PowerShell स्क्रिप्ट है जो Azure DevOps को कॉल कर रही है (यह एक लंबा शब्द है, मैंने VSTS टाइप करना पसंद किया है, शायद मैं AD लिखना शुरू करूंगा)

  • रिलीज़ पाइपलाइन की जाँच के लिए एपीआई एपीआई मौजूद है - काम करता है
  • बनाएँ अगर यह मौजूद नहीं है - काम करता है
  • एम्बेडेड संस्करणों की तुलना करें और अपडेट करें और यदि आवश्यक हो (मैं यहां फंस गया हूं, लेकिन मैं इसे हल कर दूंगा, त्रुटि को वापस करने वाली पाइपलाइन को अपडेट किया गया है, भले ही मैंने इसे डाउनलोड किया हो।)

मैं चाहता हूं कि इसे बिल्ड पाइपलाइन के दौरान निष्पादित किया जाए ताकि मुझे अब कई समान रिलीज पाइपलाइनों को मैन्युअल रूप से संशोधित न करना पड़े। मैं इसे एक फ़ाइल के रूप में अच्छी तरह से करना पसंद करूंगा, लेकिन यह आज मेरे पास है। आशा है कि ये आपकी मदद करेगा।


1
मैं फंस गया हूं और अद्यतन प्रक्रिया पर अपना काम रोक दिया है। क्यों? रिलीज डेफिसिट json टेम्पलेट में प्रत्येक बिल्ड स्टेप के लिए एक आईडी है। जब रिलीज़ पाइपलाइन बनाई जा रही हो, तो आईडी की एक विशिष्ट संख्या होनी चाहिए। आईडी नंबर बनने के बाद उसे बदल दिया जाता है। इसलिए, जब आप रिलीज़ पाइपलाइन को अपडेट करते हैं तो आप "नए" स्टेज आईडी नंबर का उपयोग नहीं कर सकते हैं (वे शुरू में पाइपलाइन जारी करते समय आरक्षित होते हैं), लेकिन इसके बजाय आपको अब मान्य मंचन आईडी का उपयोग करने की आवश्यकता है जो कुछ भी हो सकती है।
एंटेबियोस

तो वास्तविक प्रक्रिया होनी चाहिए: प्रक्रिया उपयोग टेम्पलेट बनाने के लिए। अद्यतन प्रक्रिया के लिए रिलीज़ रिलीज़ परिभाषा और टेम्पलेट और डाउनलोड की गई रिलीज़ परिभाषा की तुलना करें और फिर उस VSTS में वापस अपडेट करें। वाह! इसका मतलब है कि मुझे अपनी तुलना प्रक्रिया और त्रुटि जाँच लिखने की आवश्यकता है।
एंटेबियोस

वास्तव में, एक नई रिलीज़ डेफिनिशन (POST) के लिए, आप idसंपत्ति को अनदेखा कर सकते हैं - idरिलीज़ डेफ़ ऑब्जेक्ट के लिए और सभी environmentऑब्जेक्ट्स में अनदेखा किया जा सकता है - rankप्रॉपर्टी सेट करना पर्याप्त होना चाहिए (अन्य आवश्यक लोगों के साथ) - POST कॉल स्वचालित रूप से बनाना चाहिए आईडी और प्रतिक्रिया वस्तु में वापस। एक बार रिलीज़ डेफिनिशन बनाए जाने के बाद, अपने ऑर्गन में सभी परिभाषाएँ प्राप्त करने के लिए आप एक LISTरिलीज़ रिलीज़ पर कर सकते हैं - GET कॉल यहाँ
obfuscate

-4

पाइपलाइन एक या अधिक नौकरियों से बने होते हैं और इसमें संसाधन और चर शामिल हो सकते हैं। नौकरियां एक या एक से अधिक चरणों के साथ-साथ कुछ नौकरी-विशिष्ट डेटा से बनती हैं। चरण कार्य, स्क्रिप्ट या बाहरी टेम्प्लेट के संदर्भ हो सकते हैं। यह YAML फ़ाइल की संरचना में परिलक्षित होता है। जानकारी के लिए कृपया यहाँ जाएँ


5
अपने पोस्ट में हस्ताक्षर न जोड़ें; उन्हें स्पैम माना जा सकता है।
झो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.