Azure DevOps, YAML sürüm ardışık düzenleri? [kapalı]


87

Bir .NET Core Web API projesi için YAML derleme ardışık düzeni oluşturmak için bu işlemi takip ediyorum:

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

Yayınlamaya gelince, (yakın zamanda yeniden adlandırılmış) Azure DevOps'un yayın işlem hatlarını tanımlamak için YAML'yi desteklemediğini not ediyorum. Ancak, dağıtım görevlerinin şu şekilde tanımlandığını görebiliyorum:

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

YAML'yi desteklemek için yayın işlem hatları işlevselliğinde bir yükseltme bekliyor muyuz ve öyleyse, ne zaman?


Yakında, Build 2019'da: youtube.com/watch?v=ORy3OeqLZlE Çok aşamalı ardışık düzenler (ve Sürüm YAML) şimdi önizleme aşamasındadır. Önizleme Özellikleri menü öğesinde etkinleştirin.
nullforce

2
Birisi bu sorunun neden konu dışı olduğunu anlamama yardımcı olabilir mi? Benim için stackoverflow için iyi bir soru gibi görünüyor.
Tobske

Yanıtlar:


59

Bu yanıtı yazarken, özellikler zaman çizelgesi yaml sürümlerinin 2018 3. çeyreğinde geleceğini yansıtıyor.

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

Güncelleme: Bu, birkaç kez düzeltildi. Aşağıdaki yorumları kontrol etmeniz önerilir, çünkü insanlar onları buldukça güncellemeler sağlar.

Güncelleme

Yorumlara göre, bu artık mümkün: https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ . Aşağıdakiler makaleden kopyalanıp yapıştırılır ve çeşitli aşamaları kullanarak gösterir:

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
Şimdi 2018 4.Çeyrek Özellikleri'nde.
sschoof


6
Dün twitter üzerinden ulaştım. YAML sürüm tanımları, Mart ayı sonunda özel önizlemeye geçmesi amacıyla şu anda üzerinde çalışılıyor. Full iplik twitter.com/gopinach/status/1088320931745935360?s=21
rh072005



6

YAML derleme ardışık düzen oluşturma deneyimi önizleme aşamasındadır. (bugün 2018-12-04)

Yayın ardışık düzenleri için YAML hala bir çıkış yolu gibi görünüyor: 2019 Q2

Önizleme özellikleri, profilinizden şu şekilde etkinleştirilebilir:

profil menüsü

YAML özelliği

DÜZENLEME: Nullforce'un yorumlarda belirttiği gibi, bu yalnızca ardışık düzenler oluşturmak için bir YAML deneyimi sağlar ve ardışık düzenleri serbest bırakmaz.

GÜNCELLEME (2019-05-16): Microsoft'un "Build 2019" un ardından, hem derleme hem de dağıtım için tam YAML deneyimi artık aynı YAML ardışık düzen dosyasında mümkün olacaktır.


3
Bu soru Derleme ardışık düzenlerini değil, Yayın işlem hatlarını soruyor. Belirttiğiniz önizleme özelliği yalnızca Build ardışık düzeni YAML'yi açar.
nullforce

@nullforce Teşekkürler, düzeltmenizi cevabıma ekledim ve yayın boru hatları için etkinleştirilirse veya yaml önizlemeden çıktığında düzeltmeyi güncel tutmaya çalışacağım.
Jim Wolff

1
Hala mevcut değil.
ATL_DEV

@ATL_DEV bir durumu detaylandırabilir veya bununla ilgili kaynaklara bağlantı verebilir misiniz, böylece cevabı düzeltebilirim. Bana göre mevcut gibi görünüyor: docs
Jim Wolff

@Jim Wolff - Microsoft yalancıdır! Sürüm ve dağıtım bölümleri yalnızca berbat kullanıcı arabirimi aracılığıyla yapılandırılabilir.
ATL_DEV

5

Ürün Ekibi bunun üzerinde çalışıyor. Güncellemeyi Sürüm notlarından takip edebilirsiniz .


1
"Ürün Ekibi" 1 yıldan sonra hiçbir şey yapmadı. Azure Dev Ops UI hala korkunç ve Yaml Dağıtım için destek veriyor ve tüm boş vaatlere rağmen hala orada değil. Belgeler mevcut değil ve ağa dağılmış durumda; Azure Dev Ops, kullanmak için bir güçtür! Microsoft yapacak başka bir şey
bulmalı

Sadece teknik doğruluk adına - Kasım 2019'da YAML desteğinin dağıtım için "hala orada olmadığını" söyleyen yoruma rağmen, aslında Mayıs 2019'da Azure DevOps'a (boşluksuz) eklendi. Diğer yanıtlar ve yorumlar buna daha fazla giriyor. Sadece bunu okuyan birinin yanlış fikir aldığından emin olmak istedim.
MikeBaz - MSFT

4

Şu anda böyle bir şey yapmanın tam ortasındayım, ancak mevcut REST API'lerini kullanıyorum. Burada belgelediğime benzer bir şey yapıyorum ( VSTS'de bir sürüm tanımını nasıl içe aktarırsınız? ). Temel olarak, şablonlu bir JSON Release Pipeline dosyasını değişken yer tutucular ve gömülü bir sürüm numarası ile kaynak kod havuzuna kaydediyorum. Sonra Azure DevOps'u çağıran bir PowerShell betiği var (bu uzun bir kelime, VSTS yazmayı tercih ettim, belki AD yazmaya başlayacağım)

  • Release Pipeline'ın var olup olmadığını kontrol etmek için REST API'leri - çalışır
  • Mevcut değilse oluşturun - çalışır
  • Gömülü sürümleri karşılaştırın ve gerekirse güncelleyin ve gerekirse güncelleyin (Burada sıkışıp kaldım, ancak bunu çözeceğim ve güncellenen boru hattının değiştirmeme rağmen değişmediğine dair hata döndürüyorum.)

Bunun Build ardışık düzeni sırasında yürütülmesini istiyorum, böylece artık çok sayıda benzer Release işlem hattını manuel olarak değiştirmek zorunda kalmayacağım. Bunun da bir YAML dosyası olmasını tercih ederim, ancak bugün sahip olduğum şey bu. Umarım bu yardımcı olur.


1
Sıkıştım ve GÜNCELLEME sürecindeki çalışma çabamı durdurdum. Neden? Yayın Tanımı json şablonunun her derleme adımı için bir kimliği vardır. Yayın İşlem Hattı oluşturulurken kimliklerin belirli bir numara olması gerekir. Kimlik numarası oluşturulduktan sonra değiştirilir. Bu nedenle, Yayın Ardışık Düzeni'ni GÜNCELLEŞTİRDİĞİNİZ zaman artık "yeni" Aşama Kimliği numaralarını kullanamazsınız (bunlar başlangıçta bir Yayın Ardışık Düzeni oluştururken ayrılırlar), bunun yerine herhangi bir şey olabilecek, artık geçerli Aşamalı Kimliği kullanmanız gerekir.
Antebios

Yani asıl süreç şu olmalıdır: Süreç oluşturmak için şablon kullanın. Güncelleme süreci için sürüm tanımını indirin ve şablonla karşılaştırın ve indirilen sürüm tanımını güncelleyin ve ardından bunu VSTS'ye güncelleyin. Vay canına! Bu, kendi karşılaştırma sürecimi ve hata kontrolümü yazmam gerektiği anlamına geliyor.
Antebios

Aslında, yeni bir yayın tanımı (POST) için idözelliği yok sayabilirsiniz - idserbest bırakma def nesnesi için ve tüm environmentnesnelerde yok sayılabilir - ranközelliği ayarlamak yeterli olmalıdır (diğer gerekli olanlar ile birlikte) - POST çağrısı otomatik olarak oluşturmalıdır ID'ler ve yanıt nesnesinde dönüş. Salma tanımı oluşturulduktan sonra, bir yapabilirsiniz.END_PARAGRAPH org tanımların hepsini almak için LISTserbest bırakma tanımlarına - GET çağrısı belgelenmiştir burada
bullak

-5

Boru hatları bir veya daha fazla işten oluşur ve kaynaklar ve değişkenler içerebilir. İşler, bir veya daha fazla adımdan ve işe özgü bazı verilerden oluşur. Adımlar; görevler, komut dosyaları veya harici şablonlara referanslar olabilir. Bu, YAML dosyasının yapısına yansıtılır. Ayrıntılar için lütfen burayı ziyaret edin


5
Gönderilerinize imza eklemeyin; spam olarak kabul edilebilirler.
Zoe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.