Azure DevOps, YAML release pipelines? [ปิด]


87

ฉันกำลังทำตามขั้นตอนนี้เพื่อสร้าง YAML build pipeline สำหรับโปรเจ็กต์. NET Core Web API:

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 หรือไม่และถ้าเป็นเช่นนั้นเมื่อใด


เร็ว ๆ นี้ที่งาน Build 2019: youtube.com/watch?v=ORy3OeqLZlEไปป์ไลน์หลายขั้นตอน (และ Release YAML) อยู่ในตัวอย่าง เปิดใช้งานในรายการเมนูคุณสมบัติการแสดงตัวอย่าง
nullforce

2
มีใครช่วยฉันได้ไหมในการทำความเข้าใจว่าทำไมคำถามนี้จึงไม่ตรงประเด็น สำหรับฉันดูเหมือนว่าเป็นคำถามที่ดีสำหรับ stackoverflow
Tobske

คำตอบ:


59

ในขณะที่เขียนคำตอบนี้ไทม์ไลน์ของฟีเจอร์ที่แสดงถึงการเปิดตัวของ yaml กำลังจะมาถึง 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
ตอนนี้อยู่ในฟีเจอร์ Q4 ปี 2018
sschoof

4
มีรายการงานให้ติดตามdev.azure.com/mseng/Azure%20DevOps%20Roadmap/_workitems/edit/…
sschoof

6
ฉันติดต่อผ่านทวิตเตอร์เมื่อวานนี้ คำจำกัดความของการเผยแพร่ YAML กำลังได้รับการดำเนินการในนาทีนี้โดยมีเป้าหมายที่จะเข้าสู่การแสดงตัวอย่างส่วนตัวภายในสิ้นเดือนมีนาคม กระทู้เต็มที่twitter.com/gopinach/status/1088320931745935360?s=21
rh072005

5
ติดตามรายการงานล่าสุด - dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1364226
antmeehan

10
ในที่สุด! devblogs.microsoft.com/devops/whats-new-with-azure-pipelines 7 พฤษภาคม 2019
Kat Lim Ruiz

6

YAML สร้างประสบการณ์การสร้างไปป์ไลน์อยู่ในการแสดงตัวอย่าง (วันนี้คือ 2018-12-04)

YAML สำหรับท่อปล่อยดูเหมือนจะเป็นหนทางที่ยังคงอยู่: 2019 Q2

คุณสมบัติการแสดงตัวอย่างสามารถเปิดใช้งานได้จากโปรไฟล์ของคุณดังนี้:

เมนูโปรไฟล์

คุณลักษณะ YAML

แก้ไข:ตามที่ nullforce ชี้ให้เห็นในความคิดเห็นสิ่งนี้จะเปิดใช้งานประสบการณ์ YAML สำหรับสร้างไปป์ไลน์และไม่ปล่อยไปป์ไลน์

อัปเดต (2019-05-16):หลังจาก "Build 2019" ของ Microsoft ประสบการณ์ YAML เต็มรูปแบบสำหรับทั้งบิลด์และการปรับใช้ควรเป็นไปได้ในไฟล์ไปป์ไลน์ YAML เดียวกัน


3
คำถามนี้ถามเกี่ยวกับ Release pipelines ไม่ใช่ Build pipelines คุณลักษณะการแสดงตัวอย่างที่คุณระบุจะเปิดใช้งานสร้างไปป์ไลน์ YAML เท่านั้น
nullforce

@nullforce ขอบคุณฉันได้เพิ่มการแก้ไขของคุณในคำตอบของฉันแล้วและจะพยายามอัปเดตอยู่เสมอหากเปิดใช้งานสำหรับท่อปล่อยหรือเมื่อ yaml ออกมาจากการแสดงตัวอย่างเช่นกัน
Jim Wolff

1
มันยังไม่สามารถใช้ได้
ATL_DEV

@ATL_DEV คุณสามารถอธิบายรายละเอียดเกี่ยวกับสถานะหรือเชื่อมโยงไปยังแหล่งข้อมูลเกี่ยวกับเรื่องนี้ได้เพื่อให้ฉันสามารถแก้ไขคำตอบได้ สำหรับฉันดูเหมือนว่ามันมีอยู่: docs
Jim Wolff

@ Jim Wolff-- ไมโครซอฟท์เป็นคนโกหก! ส่วนการวางจำหน่ายและการปรับใช้สามารถกำหนดค่าได้ผ่าน UI ที่เส็งเคร็งเท่านั้น
ATL_DEV

5

ทีมผลิตภัณฑ์กำลังดำเนินการแก้ไข คุณสามารถติดตามการอัปเดตผ่านบันทึกประจำรุ่น


1
"ทีมผลิตภัณฑ์" ยังไม่ได้ทำอะไรเลยหลังจาก 1 ปี UI ของ Azure Dev Ops ยังคงน่ากลัวและการสนับสนุน yaml สำหรับการทำให้ใช้งานได้ แต่ก็ยังไม่มีแม้จะมีสัญญาที่ว่างเปล่าทั้งหมด เอกสารนี้ไม่มีอยู่จริงและกระจัดกระจายไปทั่วเน็ต Azure Dev Ops เป็นสิ่งที่น่ากลัวที่จะใช้! Microsoft ควรหาอย่างอื่นทำ
ATL_DEV

เพียงเพื่อประโยชน์ของความถูกต้องทางเทคนิค - แม้ว่าความคิดเห็นนั้นจะโพสต์ในเดือนพฤศจิกายน 2019 โดยระบุว่าการสนับสนุน YAML สำหรับการปรับใช้ "ยังไม่มีอยู่" แต่ก็มีการเพิ่มลงใน Azure DevOps (ไม่เว้นวรรค) ในเดือนพฤษภาคม 2019 คำตอบอื่น ๆ และ ความคิดเห็นเพิ่มเติมเกี่ยวกับเรื่องนี้ แค่อยากให้แน่ใจว่ามีคนอ่านเรื่องนี้เข้าใจผิด
MikeBaz - MSFT

4

ฉันกำลังทำอะไรแบบนี้อยู่ในขณะนี้ แต่ฉันกำลังใช้ REST APIs ปัจจุบัน สิ่งที่ฉันกำลังทำคล้ายกับสิ่งที่ฉันบันทึกไว้ที่นี่ ( คุณนำเข้าคำจำกัดความของรุ่นใน VSTS ได้อย่างไร? ) โดยพื้นฐานแล้วฉันกำลังบันทึกไฟล์ JSON Release Pipeline แบบเทมเพลลงในที่เก็บซอร์สโค้ดที่มีตัวยึดตำแหน่งตัวแปรและฝังหมายเลขเวอร์ชัน จากนั้นมีสคริปต์ PowerShell ที่เรียก Azure DevOps (เป็นคำที่ยาวฉันชอบพิมพ์ VSTS ฉันจะเริ่มพิมพ์ AD)

  • REST API สำหรับตรวจสอบ Release Pipeline มีอยู่ - ใช้งานได้
  • สร้างถ้าไม่มี - ใช้งานได้
  • เปรียบเทียบเวอร์ชันฝังตัวและอัปเดตและหากจำเป็น (ฉันติดอยู่ที่นี่ แต่ฉันจะแก้ปัญหานี้โดยส่งคืนข้อผิดพลาดที่ไปป์ไลน์ที่อัปเดตไม่ได้เปลี่ยนแปลงแม้ว่าฉันจะเปลี่ยนไปแล้วก็ตาม)

ฉันต้องการให้สิ่งนี้ดำเนินการในระหว่างสร้างไปป์ไลน์เพื่อที่ฉันจะได้ไม่ต้องแก้ไขไปป์ไลน์ Release ที่คล้ายกันจำนวนมากด้วยตนเองอีกต่อไป ฉันต้องการให้ไฟล์นี้เป็นไฟล์ YAML เช่นกัน แต่นี่คือสิ่งที่ฉันมีในวันนี้ ฉันหวังว่านี่จะช่วยได้.


1
ฉันติดขัดและหยุดความพยายามในการทำงานในกระบวนการ UPDATE ทำไม? เทมเพลต json ของ Release Definition มี ID สำหรับแต่ละขั้นตอนการสร้าง ID ต้องเป็นหมายเลขเฉพาะเมื่อมีการสร้าง Release Pipeline หมายเลข ID จะเปลี่ยนไปหลังจากสร้าง ดังนั้นเมื่อคุณอัปเดตไปป์ไลน์การเผยแพร่คุณจะไม่สามารถใช้หมายเลขรหัสสเตจ "ใหม่" ได้อีกต่อไป (จะสงวนไว้เมื่อเริ่มสร้างไปป์ไลน์รุ่น) แต่คุณต้องใช้ Staged ID ที่ถูกต้องซึ่งอาจเป็นอะไรก็ได้
Antebios

ดังนั้นกระบวนการจริงควรเป็น: สำหรับสร้างเทมเพลตใช้กระบวนการ สำหรับข้อกำหนดการเผยแพร่การดาวน์โหลดกระบวนการอัปเดตและเปรียบเทียบกับเทมเพลตและอัปเดตข้อกำหนดรุ่นที่ดาวน์โหลดจากนั้นอัปเดตข้อกำหนดนั้นกลับเป็น VSTS ต๊าย! นั่นหมายความว่าฉันต้องเขียนกระบวนการเปรียบเทียบและการตรวจสอบข้อผิดพลาดของตัวเอง
Antebios

ในความเป็นจริงสำหรับคำจำกัดความของรีลีสใหม่ (POST) คุณสามารถละเว้นidคุณสมบัติ - idสำหรับอ็อบเจ็กต์ release def และในenvironmentอ็อบเจ็กต์ทั้งหมด สามารถละเว้นได้ - การตั้งค่าrankคุณสมบัติควรเพียงพอ (พร้อมกับคุณสมบัติที่จำเป็นอื่น ๆ ) - การเรียก POST ควรสร้างโดยอัตโนมัติ IDs และส่งคืนในอ็อบเจ็กต์การตอบกลับ เมื่อสร้างคำจำกัดความของรุ่นแล้วเพื่อให้ได้คำจำกัดความทั้งหมดในองค์กรของคุณคุณสามารถทำLISTคำจำกัดความเกี่ยวกับรุ่นได้ - GET call ได้รับการบันทึกไว้ที่นี่
ทำให้งงงวย

-5

ไปป์ไลน์ประกอบด้วยงานตั้งแต่หนึ่งงานขึ้นไปและอาจรวมถึงทรัพยากรและตัวแปร งานประกอบด้วยขั้นตอนอย่างน้อยหนึ่งขั้นตอนบวกข้อมูลเฉพาะงาน ขั้นตอนอาจเป็นงานสคริปต์หรือการอ้างอิงไปยังเทมเพลตภายนอก สิ่งนี้สะท้อนให้เห็นในโครงสร้างของไฟล์ YAML โปรดดูรายละเอียดที่นี่


5
อย่าเพิ่มลายเซ็นในโพสต์ของคุณ อาจถือว่าเป็นสแปม
Zoe
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.