Ardışık düzenleri serbest bırakmak için YAML eşdeğeri nedir?

Aug 17 2020

Azure DevOps'a bakıyordum ve bir şey beni şaşırttı: Microsoft, klasik olanlar yerine YAML işlem hatlarının kullanılmasını şiddetle tavsiye ediyor gibi görünüyor; Yeterince adil, ancak klas boru hatlarında bulunan tüm işlevselliği değiştirmeleri gerekiyor. "Yayın ardışık düzen" işlevini YAML ardışık düzenleriyle nasıl değiştireceğim?

Örneğin, klasik sürüm ardışık düzenleriyle, manuel tetikleyici olan üretime dağıtmak için bir ardışık düzen kurabilirim (bkz. 'Bir kullanıcı tarafından manuel olarak'):

https://docs.microsoft.com/en-us/azure/devops/pipelines/release/triggers?view=azure-devops#pull-request-triggers

YAML ardışık düzeni buna eşdeğer nedir? Açıkçası üretime otomatik olarak dağıtılan bir tetikleyici istemiyorum - her zaman bu dağıtımın kesinlikle manuel olarak başlatılmasını istiyorum - ancak yardım makalesi herhangi bir YAML alternatifi sağlamıyor gibi görünüyor.

Yanıtlar

1 LanceLi-MSFT Aug 18 2020 at 03:42

As Daniel Yukarıdaki yorumlar, Yaml boru hattı CD için çok aşamalı yaml boru hatlarını desteklemektedir. Daha fazla ayrıntı için Azure DevOps Ardışık Düzenleri - Çok Aşamalı İşlem Hatları ve Sürekli Teslimat için YAML'yi inceleyebilirsiniz .

Azure devops yaml çok aşamalı ardışık düzen ve klasik sürüm ardışık düzeninin her ikisi de CD için kullanılabilir, ancak bazı farklılıkları vardır . Ve YAML ardışık düzenindeki hiçbir özelliğin manual triggerKlasik Sürüm'deki ile eşdeğer olamayacağını bildiğim için .

Şimdilik manuel tetik YAML ardışık düzeninde desteklenmemektedir , bu tartışmaya bakın . İyi haber şu ki, Ürün ekibi özellik talebini değerlendirdi ve yeni özellik Yol Haritası'nda . (Belki de 2020 Q3 planında)

Oradaki ekibe göre: Burada düşündükleri yeni özelliğin kapsamı, bir aşamayı "her zaman manuel olarak başlat" olarak işaretleyebilmektir. Bu aşamaya bağlı başka aşamalar varsa, bunlar bu aşamanın tamamlanmasını beklemeye devam ederler.

manual triggerÖzelliğin Yaml ardışık düzeninde gerçekleşmesi için bir süre beklememiz gerekebilir . Yeni özelliğin ihtiyaçlarınızı karşılayacağını umuyoruz.

AlexanderVolok Aug 18 2020 at 10:10

Microsoft, ekiplerinin dahili olarak Release Flow dallanma stratejisini kullandığını söylüyor : Release Flow: VSTS Ekibinde Nasıl Dallanma Yapıyoruz

Yayın Akışı, sürümün tetiklenmesi için sürüm dalının oluşturulması gerektiği anlamına gelir; bu, şu şekilde görünebilir:

sürümler / ürün adı-sprint02

Bu nedenle, böyle bir dalın oluşturulması manuel tetikleme görevi görebilir

Çok aşamalı YAML ardışık düzeninde, üretim dağıtımı aşaması, ardışık düzen yürütmesi yayın dalı bağlamı olduğunda tetiklenecek şekilde kodlanmalıdır; bu, a condition:ve bir kontrol içeren bir ifade kullanarak yapmak zor değildir :

${{ startsWith(variables['Build.SourceBranch'], 'refs/heads/releases')

ps Benzer konuyla ilgili son blogum: Azure DevOps - YAML ardışık düzenleri ve dallanma stratejileri