Azure DevOps Server 2020 Sürüm Notları

| Geliştirici Topluluğu Sistem Gereksinimleri | Lisans Koşulları | DevOps Blogu | SHA-1 Karmaları

Bu makalede, Azure DevOps Server için en yeni sürümle ilgili bilgiler bulacaksınız.

Azure DevOps Server dağıtımı yükleme veya yükseltme hakkında daha fazla bilgi edinmek için bkz. Azure DevOps Server Gereksinimleri. Azure DevOps ürünlerini indirmek için Azure DevOps Server İndirmeler sayfasını ziyaret edin.

Azure DevOps Server 2020'ye doğrudan yükseltme, Azure DevOps Server 2019 veya Team Foundation Server 2015 veya daha yeni sürümlerden desteklenir. TFS dağıtımınız TFS 2010 veya daha önceki bir sürümdeyse, Azure DevOps Server 2019'a yükseltmeden önce bazı ara adımları gerçekleştirmeniz gerekir. Daha fazla bilgi edinmek için bkz. Şirket içi Azure DevOps'u yükleme ve yapılandırma.


Azure DevOps Server 2019'dan Azure DevOps Server 2020'ye Güvenle Yükseltin

Azure DevOps Server 2020, proje düzeyi ayarlarına göre çalışan yeni bir işlem hattı çalıştırması (derleme) bekletme modeli sunar.

Azure DevOps Server 2020, işlem hattı düzeyinde saklama ilkelerine göre derleme saklamayı farklı işler. Bazı ilke yapılandırmaları, işlem hattı çalıştırmalarının yükseltmeden sonra silinmesine yol açar. El ile tutulan veya bir yayın tarafından tutulan işlem hattı çalıştırmaları yükseltmeden sonra silinmez.

Azure DevOps Server 2019'dan Azure DevOps Server 2020'ye güvenli bir şekilde yükseltme hakkında daha fazla bilgi için blog gönderimizi okuyun.

Azure DevOps Server 2020 Güncelleştirme 0.2 Yama 6 Yayın Tarihi: 14 Kasım 2023

Azure DevOps Server 2020 Güncelleştirme 0.2 için aşağıdaki düzeltmeleri içeren bir düzeltme eki yayımladık.

  • Kabuk görevleri bağımsız değişkenlerini etkinleştir parametre doğrulaması için izin verilen PowerShell görevleri karakter listesi genişletildi.

Not

Bu düzeltme ekine yönelik düzeltmeleri uygulamak için görevleri el ile güncelleştirmeye yönelik birkaç adımı izlemeniz gerekir.

Düzeltme eklerini yükleme

Önemli

12 Eylül 2023'te yayınlanan Patch 4 ile Azure Pipelines aracısına yönelik güncelleştirmeler yayımladık. Aracı güncelleştirmelerini Yama 4 sürüm notlarında açıklandığı gibi yüklemediyseniz, Düzeltme Eki 6'yı yüklemeden önce bu güncelleştirmeleri yüklemenizi öneririz. Yama 4 yüklendikten sonra aracının yeni sürümü 3.225.0 olacaktır.

TFX'i yapılandırma

  1. tfx-cli yüklemek ve oturum açmak için görevleri proje koleksiyonuna yükleme belgelerindeki adımları izleyin.

TFX kullanarak görevleri güncelleştirme

File SHA-256 Karması
Tasks20231103.zip 389BA66EEEBC32622FB83402E21373CE20AE040F70461B9F9AF9EFCED5034D2E5
  1. Tasks20231103.zipindirip ayıklayın.
  2. Dizini ayıklanan dosyalara dönüştür.
  3. Görevleri karşıya yüklemek için aşağıdaki komutları yürütebilirsiniz:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.230.0.zip
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.230.0.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.230.0.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.230.0.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.230.0.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.230.0.zip 

İşlem Hattı Gereksinimleri

Yeni davranışı kullanmak için, etkilenen görevleri kullanan işlem hatlarında bir değişken AZP_75787_ENABLE_NEW_LOGIC = true ayarlanmalıdır.

  • Klasikte:

    değişkenini işlem hattının değişken sekmesinde tanımlayın.

  • YAML örneği:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2020 Güncelleştirme 0.2 Yama 5 Yayın Tarihi: 10 Ekim 2023

Önemli

12 Eylül 2023'te yayınlanan Patch 4 ile Azure Pipelines aracısına yönelik güncelleştirmeler yayımladık. Aracı güncelleştirmelerini Yama 4 sürüm notlarında açıklandığı gibi yüklemediyseniz, Düzeltme Eki 5'i yüklemeden önce bu güncelleştirmeleri yüklemenizi öneririz. Yama 4 yüklendikten sonra aracının yeni sürümü 3.225.0 olacaktır.

Azure DevOps Server 2020 Güncelleştirme 0.2 için aşağıdaki düzeltmeleri içeren bir düzeltme eki yayımladık.

  • "Çözümleme Sahibi" kimliğinin düzeltme eki yükseltme makinelerinde Etkin Olmayan Kimlik olarak gösterildiği bir hata düzeltildi.

Azure DevOps Server 2020 Güncelleştirme 0.2 Yama 4 Yayın Tarihi: 12 Eylül 2023

Azure DevOps Server 2020 Güncelleştirme 0.2 için aşağıdaki düzeltmeleri içeren bir düzeltme eki yayımladık.

  • CVE-2023-33136: Azure DevOps Server Uzaktan Kod Yürütme Güvenlik Açığı.
  • CVE-2023-38155: Azure DevOps Server ve Team Foundation Server Ayrıcalıkların Yükseltilmesi Güvenlik Açığı.

Önemli

Düzeltme ekini bir test ortamına dağıtın ve düzeltmeyi üretim ortamına uygulamadan önce ortamın işlem hatlarının beklendiği gibi çalıştığından emin olun.

Not

Bu düzeltme ekine yönelik düzeltmeleri uygulamak için aracıyı ve görevleri el ile güncelleştirmek için bir dizi adımı izlemeniz gerekir.

Düzeltme eklerini yükleme

  1. Azure DevOps Server 2020 Güncelleştirme 0.2 düzeltme eki 4'ü indirin ve yükleyin.

Azure Pipelines aracısını güncelleştirme

  1. Aracıyı şu kaynaktan indirin: https://github.com/microsoft/azure-pipelines-agent/releases/tag/v3.225.0 - Agent_20230825.zip
  2. Aracıyı dağıtmak için şirket içinde barındırılan Windows aracıları belgelerinde açıklanan adımları kullanın.  

Not

Aracının eski sürüme düşürülmesini önlemek için AZP_AGENT_DOWNGRADE_DISABLED "true" olarak ayarlanmalıdır. Windows'da, aşağıdaki komut bir yönetim komut isteminde ve ardından yeniden başlatmada kullanılabilir. setx AZP_AGENT_DOWNGRADE_DISABLED true /M

TFX'i yapılandırma

  1. tfx-cli yüklemek ve oturum açmak için görevleri proje koleksiyonuna yükleme belgelerindeki adımları izleyin.

TFX kullanarak görevleri güncelleştirme

  1. Tasks_20230825.zipindirip ayıklayın.
  2. Dizini ayıklanan dosyalara dönüştür.
  3. Görevleri karşıya yüklemek için aşağıdaki komutları yürütebilirsiniz:
tfx build tasks upload --task-zip-path AzureFileCopyV1.1.226.3.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV2.2.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV3.3.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV4.4.226.2.zip 
tfx build tasks upload --task-zip-path AzureFileCopyV5.5.226.2.zip 
tfx build tasks upload --task-zip-path BashV3.3.226.2.zip 
tfx build tasks upload --task-zip-path BatchScriptV1.1.226.0.zip 
tfx build tasks upload --task-zip-path PowerShellV2.2.226.1.zip 
tfx build tasks upload --task-zip-path SSHV0.0.226.1.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV1.1.226.2.zip 
tfx build tasks upload --task-zip-path WindowsMachineFileCopyV2.2.226.2.zip 

İşlem Hattı Gereksinimleri

Yeni davranışı kullanmak için, etkilenen görevleri kullanan işlem hatlarında bir değişken AZP_75787_ENABLE_NEW_LOGIC = true ayarlanmalıdır.

  • Klasikte:

    değişkenini işlem hattının değişken sekmesinde tanımlayın.

  • YAML örneği:

variables: 
- name: AZP_75787_ENABLE_NEW_LOGIC 
  value: true 

Azure DevOps Server 2020 Güncelleştirme 0.2 Yama 3 Yayın Tarihi: 8 Ağustos 2023

Azure DevOps Server 2020 Güncelleştirme 0.2 için aşağıdaki düzeltmeleri içeren bir düzeltme eki yayımladık.

  • 2018 veya önceki bir sürümden yükseltme yaparken paketleri göndermeyi engelleyen bir hata düzeltildi.

Azure DevOps Server 2020 Güncelleştirme 0.2 Yama 2 Yayın Tarihi: 13 Haziran 2023

Azure DevOps Server 2020 Güncelleştirme 0.2 için aşağıdaki düzeltmeleri içeren bir düzeltme eki yayımladık.

  • 2018 veya önceki bir sürümden yükseltme yaparken paketleri göndermeyi engelleyen bir hata düzeltildi.

Azure DevOps Server 2020 Güncelleştirme 0.2 Yama 1 Yayın Tarihi: 18 Ekim 2022

Azure DevOps Server 2020 Güncelleştirme 0.2 için aşağıdaki düzeltmeleri içeren bir düzeltme eki yayımladık.

  • Yeni eklenen AD kimliklerinin güvenlik iletişim kutusu kimlik seçicilerinde görünmemesi sorununu çözün.
  • Web kancası ayarlarında Grup Üyesi tarafından istendi filtresiyle ilgili bir sorun düzeltildi.
  • İşlem hattı kuruluş ayarları, Yayın dışı işlem hatları için geçerli proje için iş yetkilendirme kapsamını sınırla olarak yapılandırılmış iş yetkilendirme kapsamına sahip olduğunda Geçitli iade derlemeleri hatası düzeltildi.

Azure DevOps Server 2020.0.2 Yayın Tarihi: 17 Mayıs 2022

Azure DevOps Server 2020.0.2, hata düzeltmelerinin bir derlemesi. Azure DevOps Server 2020.0.2'yi doğrudan yükleyebilir veya Azure DevOps Server 2020 ya da Team Foundation Server 2013 veya daha yeni bir sürümden yükseltebilirsiniz.

Not

Veri Geçiş Aracı, bu sürümden yaklaşık üç hafta sonra Azure DevOps Server 2020.0.2 sürümünde kullanıma sunulacaktır. İçeri aktarma için şu anda desteklenen sürümlerin listesini burada görebilirsiniz.

Bu sürüm aşağıdakiler için düzeltmeler içerir:

  • "Sonrakini çalıştır" düğmesi kullanılarak derleme kuyruğu atlanamıyor. Daha önce, "Sonrakini çalıştır" düğmesi yalnızca proje koleksiyonu yöneticileri için etkinleştirildi.

  • Kullanıcının Active Directory hesabı devre dışı bırakıldıktan sonra tüm kişisel erişim belirteçlerini iptal edin.

Azure DevOps Server 2020.0.1 Yama 9 Yayın Tarihi: 26 Ocak 2022

Azure DevOps Server 2020.0.1 için aşağıdaki düzeltmeleri içeren bir düzeltme eki yayımladık.

  • bir iş öğesinde @mention denetim kullanılırken Email bildirimleri gönderilmedi.
  • Hesaplar arasında geçiş yaparken oluşan TF400813 hata düzeltildi. Bu hata, TFS 2018'den Azure DevOps Server 2020.0.1 sürümüne yükseltildiğinde oluştu.
  • Projeye Genel Bakış özet sayfasının yüklenememesiyle ilgili sorun düzeltildi.
  • Active Directory kullanıcı eşitlemesinde geliştirme.
  • jndilookup sınıfını log4j ikili dosyalarından kaldırarak Elasticsearch güvenlik açığı giderildi.

Yükleme adımları

  1. Sunucuyu Yama 9 ile yükseltin.
  2. adresinde kayıt defteri değerini HKLM:\Software\Elasticsearch\Versiondenetleyin. Kayıt defteri değeri orada değilse, bir dize değeri ekleyin ve Sürüm değerini 5.4.1 (Ad = Sürüm, Değer = 5.4.1) olarak ayarlayın.
  3. Benioku dosyasında sağlanan update komutunu PS C:\Program Files\{TFS Version Folder}\Search\zip> .\Configure-TFSSearch.ps1 -Operation update çalıştırın. Şu gibi bir uyarı döndürebilir: Uzak sunucuya bağlanılamıyor. Güncelleştirme tamamlanana kadar yeniden denemeler gerçekleştirdiği için pencereyi kapatmayın.

Not

Azure DevOps Server ve Elasticsearch farklı makinelerde yüklüyse, aşağıda özetlenen adımları izleyin.

  1. Sunucuyu Yama 9 ile yükseltin..
  2. adresinde kayıt defteri değerini HKLM:\Software\Elasticsearch\Versiondenetleyin. Kayıt defteri değeri orada değilse, bir dize değeri ekleyin ve Sürüm değerini 5.4.1 (Ad = Sürüm, Değer = 5.4.1) olarak ayarlayın.
  3. Elasticsearch uzak dosya klasörüne konumundaki C:\Program Files\{TFS Version Folder}\Search\zip zip adlı klasörün içeriğini kopyalayın.
  4. Elasticsearch sunucu makinesinde komutunu çalıştırın Configure-TFSSearch.ps1 -Operation update .

SHA-256 Karması: B0C05A972C73F253154AEEB7605605EF2E596A96A3720AE942D7A9DDD881545E

Azure DevOps Server 2020.0.1 Yama 8 Sürüm Tarihi: 15 Aralık 2021

Azure DevOps Server 2020.0.1 için Düzeltme Eki 8 aşağıdaki düzeltmeleri içerir.

  • Özel iş öğeleri düzen durumları için yerelleştirme sorunu.
  • E-posta bildirim şablonunda yerelleştirme sorunu.
  • Bir satırda birden çok özdeş bağlantı olduğunda konsol günlüklerinin kesilmesiyle ilgili sorun.
  • Bir alan için birden çok NOTSAMEAS kuralı tanımlandığında NOTSAMEAS kuralları değerlendirmesiyle ilgili sorun.

Azure DevOps Server 2020.0.1 Yama 7 Yayın Tarihi: 26 Ekim 2021

Azure DevOps Server 2020.0.1 için Düzeltme Eki 7 aşağıdaki düzeltmeleri içerir.

  • Daha önce, Azure DevOps Server yalnızca GitHub Enterprise Server'a bağlantı oluşturabilirdi. Bu düzeltme eki ile proje yöneticileri Azure DevOps Server ile GitHub.com üzerindeki depolar arasında bağlantı oluşturabilir. Bu ayarı GitHub bağlantıları sayfasında Proje Ayarları'nın altında bulabilirsiniz.
  • Test Planı pencere öğesiyle ilgili sorunu çözün. Test yürütme raporu sonuçlarda yanlış bir kullanıcı gösteriyordu.
  • Projeye Genel Bakış özet sayfasının yüklenememesiyle ilgili sorun düzeltildi.
  • Ürün yükseltmesini onaylamak için e-postaların gönderilmemesiyle ilgili sorun düzeltildi.

Azure DevOps Server 2020.0.1 Yama 6 Yayın Tarihi: 14 Eylül 2021

Azure DevOps Server 2020.0.1 için Düzeltme Eki 6 aşağıdaki düzeltmeleri içerir.

  • Yapıtları indirme/karşıya yükleme hatasını düzeltin.
  • Tutarsız Test Sonuçları verileriyle ilgili sorunu çözün.

Azure DevOps Server 2020.0.1 Yama 5 Yayın Tarihi: 10 Ağustos 2021

Azure DevOps Server 2020.0.1 için Düzeltme Eki 5 aşağıdaki düzeltmeleri içerir.

  • Derleme tanımı kullanıcı arabirimi hatası düzeltildi.
  • Gözatma geçmişi kök depo yerine dosyaları görüntüleyecek şekilde değiştirildi.
  • Bazı iş öğesi türleri için e-posta teslim işleriyle ilgili sorun düzeltildi.

Azure DevOps Server 2020.0.1 Yama 4 Yayın Tarihi: 15 Haziran 2021

Azure DevOps Server 2020.0.1 için Düzeltme Eki 4 aşağıdaki düzeltmeleri içerir.

  • Veri içeri aktarma ile ilgili sorun düzeltildi. Çok sayıda eski test çalışması olan müşteriler için veri içeri aktarma işlemi uzun sürüyordu. Bunun nedeni, tablonun boyutunu tbl_testCaseReferences artıran başvurular oldu. Bu yamayla, veri içeri aktarma işlemini hızlandırmaya yardımcı olmak için eski test çalışmalarına yönelik başvuruları kaldırdık.

Azure DevOps Server 2020.0.1 Yama 3 Sürüm Tarihi: 11 Mayıs 2021

Azure DevOps Server 2020.0.1 için aşağıdakileri düzelten bir yama yayımladık.

  • Microsoft.TeamFoundation.TestManagement.Client kullanılırken tutarsız Test Sonuçları verileri.

Azure DevOps Server 2020.0.1 sürümünüz varsa, Azure DevOps Server 2020.0.1 Düzeltme Eki 3'ü yüklemeniz gerekir.

Yüklemeyi Doğrulama

  • 1. Seçenek: komutunu çalıştırın devops2020.0.1patch3.exe CheckInstalldevops2020.0.1patch3.exe yukarıdaki bağlantıdan indirilen dosyadır. Komutun çıktısı, düzeltme ekinin yüklendiğini veya yüklenmediğini söyler.

  • Seçenek 2: Aşağıdaki dosyanın sürümünü denetleyin: [INSTALL_DIR]\Azure DevOps Server 2020\Application Tier\bin\Microsoft.Teamfoundation.Framework.Server.dll. Azure DevOps Server 2020.0.1 varsayılan olarak'a c:\Program Files\Azure DevOps Server 2020 yüklenir. Azure DevOps Server 2020.0.1 Yama 3'i yükledikten sonra sürüm 18.170.31228.1 olacaktır.

Azure DevOps Server 2020.0.1 Yama 2 Sürüm Tarihi: 13 Nisan 2021

Not

Azure DevOps Server 2020'niz varsa, önce 2020.0.1 Azure DevOps Server güncelleştirmeniz gerekir. 2020.0.1'de bir kez, Azure DevOps Server 2020.0.1 Düzeltme Eki 2'yi yükleyin

Azure DevOps Server 2020.0.1 için aşağıdakileri düzelten bir yama yayımladık.

Bu düzeltme ekine yönelik düzeltmeleri uygulamak içinazureresourcegroupdeploymentV2 ve AzureResourceManagerTemplateDeploymentV3 görev yüklemeleri için aşağıda listelenen adımları izlemeniz gerekir.

Genel düzeltme eki yüklemesi

Azure DevOps Server 2020.0.1 sürümünüz varsa, Azure DevOps Server 2020.0.1 Düzeltme Eki 2'yi yüklemeniz gerekir.

Yüklemeyi Doğrulama

  • 1. Seçenek: komutunu çalıştırın devops2020.0.1patch2.exe CheckInstalldevops2020.0.1patch2.exe yukarıdaki bağlantıdan indirilen dosyadır. Komutun çıktısı, düzeltme ekinin yüklendiğini veya yüklenmediğini söyler.

  • Seçenek 2: Aşağıdaki dosyanın sürümünü denetleyin: [INSTALL_DIR]\Azure DevOps Server 2020\Application Tier\bin\Microsoft.Teamfoundation.Framework.Server.dll. Azure DevOps Server 2020.0.1 varsayılan olarak'a c:\Program Files\Azure DevOps Server 2020 yüklenir. Azure DevOps Server 2020.0.1 Yama 2'yi yükledikten sonra sürüm 18.170.31123.3 olacaktır.

AzureResourceGroupDeploymentV2 görev yüklemesi

Not

Aşağıda belirtilen tüm adımların bir Windows makinesinde gerçekleştirilmesi gerekir

Yükleme

  1. AzureResourceGroupDeploymentV2.zip paketini bilgisayarınızdaki yeni bir klasöre ayıklayın. Örneğin: D:\tasks\AzureResourceGroupDeploymentV2.

  2. makinenize göre Node.js 14.15.1 ve npm'yi (Node.js indirmeye dahil) indirip yükleyin.

  3. Yönetici modunda bir komut istemi açın ve tfx-cli'yi yüklemek için aşağıdaki komutu çalıştırın.

npm install -g tfx-cli
  1. Tam erişim ayrıcalıklarına sahip bir kişisel erişim belirtecini İçerik Oluşturucu ve kopyalayın. Bu Kişisel erişim belirteci tfx login komutu çalıştırılırken kullanılır.

  2. Komut isteminden aşağıdakileri çalıştırın. İstendiğinde Hizmet URL'si ve Kişisel erişim belirtecini girin.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. Görevi sunucuya yüklemek için aşağıdaki komutu çalıştırın. 1. adımdaki ayıklanan .zip dosyasının yolunu kullanın.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

AzureResourceManagerTemplateDeploymentV3 görev yüklemesi

Not

Aşağıda belirtilen tüm adımların bir Windows makinesinde gerçekleştirilmesi gerekir

Yükleme

  1. AzureResourceManagerTemplateDeploymentV3.zip paketini bilgisayarınızdaki yeni bir klasöre ayıklayın. Örneğin:D:\tasks\AzureResourceManagerTemplateDeploymentV3.

  2. Makinenize uygun olarak Node.js 14.15.1 ve npm'yi (Node.js indirmeye dahil) indirip yükleyin.

  3. Yönetici modunda bir komut istemi açın ve tfx-cli'yi yüklemek için aşağıdaki komutu çalıştırın.

npm install -g tfx-cli
  1. Tam erişim ayrıcalıklarına sahip bir kişisel erişim belirtecini İçerik Oluşturucu ve kopyalayın. Bu Kişisel erişim belirteci tfx login komutu çalıştırılırken kullanılır.

  2. Komut isteminden aşağıdakileri çalıştırın. İstendiğinde, Hizmet URL'si ve Kişisel erişim belirtecini girin.

~$ tfx login
Copyright Microsoft Corporation

> Service URL: {url}
> Personal access token: xxxxxxxxxxxx
Logged in successfully

  1. Görevi sunucuya yüklemek için aşağıdaki komutu çalıştırın. 1. adımda ayıklanan .zip dosyasının yolunu kullanın.
  ~$ tfx build tasks upload --task-path *<Path of the extracted package>*

Azure DevOps Server 2020.0.1 Yama 1 Yayın Tarihi: 9 Şubat 2021

Azure DevOps Server 2020.0.1 için aşağıdakileri düzelten bir yama yayımladık. Daha fazla bilgi için lütfen blog gönderisine bakın.

Azure DevOps Server 2020 Yama 3 Yayın Tarihi: 9 Şubat 2021

Azure DevOps Server 2020 için aşağıdakileri düzelten bir yama yayımladık. Daha fazla bilgi için lütfen blog gönderisine bakın.

Azure DevOps Server 2020.0.1 Yayın Tarihi: 19 Ocak 2021

Azure DevOps Server 2020.0.1, hata düzeltmelerinin bir derlemesi. Azure DevOps Server 2020.0.1'i doğrudan yükleyebilir veya mevcut bir yüklemeden yükseltebilirsiniz. Yükseltme için desteklenen sürümler Azure DevOps Server 2020, Azure DevOps Server 2019 ve Team Foundation Server 2012 veya daha yeni sürümlerdir.

Bu sürüm aşağıdaki hatalar için düzeltmeler içerir:

  • Azure DevOps Server 2019'dan yükseltme sonrasında Git proxy'lerinin çalışmayı durdurabileceği bir yükseltme sorununu çözün.
  • Azure DevOps Server 2020'ye yükseltilirken Team Foundation Server 2017 öncesi ENU olmayan koleksiyonlar için System.OutOfMemoryException özel durumu düzeltildi. Bu Geliştirici Topluluğu geri bildirim biletinde bildirilen sorunu çözer.
  • Eksik Microsoft.Azure.DevOps.ServiceEndpoints.Sdk.Server.Extensions.dll nedeniyle bakım hatası. Bu Geliştirici Topluluğu geri bildirim biletinde bildirilen sorunu çözer.
  • Azure DevOps Server 2020'ye yükseltilirken Analytics'te geçersiz sütun adı hatası düzeltildi. Bu Geliştirici Topluluğu geri bildirim biletinde bildirilen sorunu çözer.
  • Test çalışması sonuçlarında test çalışması adımları görüntülenirken depolanan XSS.
  • Puan sonuçları verilerini TCM'ye geçirirken yükseltme adımı hatası.

Azure DevOps Server 2020 Yama 2 Yayın Tarihi: 12 Ocak 2021

Azure DevOps Server 2020 için aşağıdakileri düzelten bir yama yayımladık. Daha fazla bilgi için lütfen blog gönderisine bakın.

  • Test çalıştırması ayrıntıları, OpsHub Geçişi kullanılarak geçirilen test verileri için test adımı ayrıntılarını görüntülemez
  • 'Microsoft.TeamFoundation.TestManagement.Server.TCMLogger' için başlatıcıda özel durum
  • Azure DevOps Server 2020'ye geçiş sonrasında yenilenmemiş derlemeler hemen silinir
  • Veri sağlayıcısı özel durumunu düzeltme

Azure DevOps Server 2020 Yama 1 Tarih: 8 Aralık 2020

Azure DevOps Server 2020 için aşağıdakileri düzelten bir yama yayımladık. Daha fazla bilgi için lütfen blog gönderisine bakın.

  • CVE-2020-17145: Azure DevOps Server ve Team Foundation Services Kimlik Sahtekarlığı Güvenlik Açığı

Azure DevOps Server 2020 Sürüm Tarihi: 6 Ekim 2020

Azure DevOps Server 2020, hata düzeltmelerinin bir derlemesi. Daha önce yayımlanan Azure DevOps Server 2020 RC2'deki tüm özellikleri içerir.

Not

Azure DevOps 2020 Server, Git Sanal Dosya Sistemi (GVFS) tarafından kullanılan derlemelerden birini yüklemeyle ilgili bir sorunla karşılanıyor.

Azure DevOps 2019 'dan (herhangi bir sürüm) veya bir Azure DevOps 2020 sürüm adayından yükseltme yapıyor ve önceki sürümle aynı dizine yüklüyorsanız, derleme Microsoft.TeamFoundation.Git.dll yüklenmez. ve klasörlerinde <Install Dir>\Version Control Proxy\Web Services\bin<Install Dir>\Application Tier\TFSJobAgent<Install Dir>\Tools arayarak Microsoft.TeamFoundation.Git.dll soruna isabet ettiğinizi doğrulayabilirsiniz. Dosya eksikse, eksik dosyaları geri yüklemek için bir onarım çalıştırabilirsiniz.

Onarımı çalıştırmak için Azure DevOps Server makinesine/VM'ye Settings -> Apps & Features gidin ve Azure DevOps 2020 Server'da bir onarım çalıştırın. Onarım tamamlandıktan sonra makineyi/VM'yi yeniden başlatabilirsiniz.

Azure DevOps Server 2020 RC2 Sürüm Tarihi: 11 Ağustos 2020

Azure DevOps Server 2020 RC2, hata düzeltmelerinin bir derlemesi. Daha önce yayımlanan Azure DevOps Server 2020 RC1'deki tüm özellikleri içerir.

Azure DevOps Server 2020 RC1 yeniden yayın Tarihi: 10 Temmuz 2020

Bu Geliştirici Topluluğu geri bildirim biletini düzeltmek için Azure DevOps Server 2020 RC1'i yeniden yayınladık.

Daha önce, Azure DevOps Server 2019 Güncelleştirme 1.1'den Azure DevOps Server 2020 RC1'e yükselttikten sonra, Web kullanıcı arabiriminin Depolar, İşlem Hatları ve Wiki'sindeki dosyaları görüntüleyemiyordunuz. Sayfanın bu bölgesinde beklenmeyen bir hata oluştuğunu belirten bir hata iletisi oluştu. Bu bileşeni yeniden yüklemeyi veya sayfanın tamamını yenilemeyi deneyebilirsiniz. Bu sürümle bu sorunu düzeltmiş olduk. Daha fazla bilgi için lütfen blog gönderisine bakın.

Azure DevOps Server 2020 RC1 Sürüm Tarihi: 30 Haziran 2020

Azure DevOps Server 2020'deki Yeniliklerin Özeti

Azure DevOps Server 2020 birçok yeni özellik sunar. Önemli noktalardan bazıları:

Ayrıca her hizmetin tüm yeni özelliklerini görmek için tek tek bölümlere atlayabilirsiniz:


Genel

Azure DevOps CLI genel kullanılabilirliği

Şubat ayında Azure CLI için Azure DevOps uzantısını kullanıma aldık. Uzantı, komut satırından Azure DevOps ile etkileşim kurmanızı sağlar. Uzantıyı geliştirmemize ve daha fazla komut eklememize yardımcı olan geri bildirimlerinizi topladık. Uzantının genel kullanıma sunulduğunu duyurmaktan mutluluk duyuyoruz.

Azure DevOps CLI hakkında daha fazla bilgi edinmek için buradaki belgelere bakın.

Dağıtım Merkezi'nden Windows için Azure WebApps'i dağıtmak için yayımlama profilini kullanma

Artık Dağıtım Merkezi'nden Windows için Azure WebApps'inizi dağıtmak için yayımlama profili tabanlı kimlik doğrulamasını kullanabilirsiniz. Yayımlama profilini kullanarak Windows için Azure WebApp'e dağıtma izniniz varsa, Dağıtım Merkezi iş akışlarında bu profili kullanarak işlem hattını ayarlayabilirsiniz.

Boards

Görev panosuna ve sprint kapsamına "Üst İş Öğesi" filtresi ekleme

Hem Sprint panosuna hem de Sprint kapsamına yeni bir filtre ekledik. Bu, gereksinim düzeyi kapsam öğelerini (soldaki ilk sütun) üst öğelerine göre filtrelemenizi sağlar. Örneğin, aşağıdaki ekran görüntüsünde görünümü yalnızca ebeveynin "Büyük özelliğim" olduğu kullanıcı hikayelerini gösterecek şekilde filtreledik.

Yeni Üst İş Öğesi filtresini gösteren ekran görüntüsü.

Hata işleme deneyimini geliştirme –– Hata/Görev'de gerekli alanlar

Geçmişte Kanban panosunda, bir iş öğesini durum değişikliğinin tetiklediği alan kurallarının tetiklendiği bir sütundan diğerine taşıdıysanız, kartta yalnızca kök nedeni anlamak için iş öğesini açmaya zorlayan kırmızı bir hata iletisi gösterilir. Sprint 170'te, artık iş öğesinin kendisini açmak zorunda kalmadan hatanın ayrıntılarını görmek için kırmızı hata iletisine tıklayabilmeniz için deneyimi geliştirdik.

Kırmızı hata iletisine tıkladığınızda görüntülenen Eksik alanlar iletişim kutusunu gösteren ekran görüntüsü.

İş öğesini canlı yeniden yükleme

Daha önce bir iş öğesini güncelleştirirken ve ikinci bir ekip üyesi aynı iş öğesinde değişiklik yaparken, ikinci kullanıcı değişikliklerini kaybedecekti. Artık, her ikiniz de farklı alanları düzenlediğiniz sürece, iş öğesinde yapılan değişikliklerin canlı güncelleştirmelerini görürsünüz.

İş öğesini canlı olarak yeniden yüklemenin nasıl çalıştığını gösteren kısa video.

Komut satırından yinelemeyi ve alan yollarını yönetme

Artık ve az boards area komutlarını kullanarak az boards iteration komut satırından yineleme ve alan yollarını yönetebilirsiniz. Örneğin, yineleme ve alan yollarını CLI'dan etkileşimli olarak ayarlayıp yönetebilir veya bir betik kullanarak kurulumun tamamını otomatikleştirebilirsiniz. Komutlar ve söz dizimi hakkında daha fazla ayrıntı için buradaki belgelere bakın.

İş öğesi üst sütunu sütun seçeneği

Artık ürün kapsamınızdaki veya sprint kapsamınızdaki her iş öğesinin üst öğesini görme seçeneğiniz vardır. Bu özelliği etkinleştirmek için, istediğiniz kapsamdaKi Sütun Seçenekleri'ne gidin ve Üst sütununu ekleyin.

Sütun Seçenekleri seçeneği vurgulu bir kapsamın ekran görüntüsü.

Proje tarafından kullanılan işlemi değiştirme

Ekibinizin yaptığı gibi araçlarınız da değişmelidir. Artık projelerinizi kullanıma açık herhangi bir işlem şablonundan kullanıma sunulan başka bir işleme geçirebilirsiniz. Örneğin, projenizi Çevik'ten Scrum'a veya Temel'den Çevik'e değiştirebilirsiniz. Adım adım belgelerin tamamını burada bulabilirsiniz.

İşlem değiştir seçeneğinin vurgulendiği Projeler sekmesinin ekran görüntüsü.

Özel alanları düzenden gizleme

Artık işleminizi özelleştirirken form düzeninden özel alanları gizleyebilirsiniz. Alanı sorgular ve REST API'ler tarafından kullanılabilir olmaya devam eder. Bu, diğer sistemlerle tümleştirme yaparken ek alanları izlemek için kullanışlıdır.

Düzenden gizle seçeneğini gösteren ekran görüntüsü.

Üç yeni Azure Boards raporuyla ekibinizin durumu hakkında içgörüler edinin

Göremeyeceklerini düzeltemezsiniz. Bu nedenle, iş süreçlerinin durumunu ve durumunu yakından takip etmek istiyorsunuz. Bu raporlarla, Azure Boards çok az çabayla önemli ölçümleri izlemenizi kolaylaştırıyoruz.

Üç yeni etkileşimli rapor şunlardır: İlerleme, Kümülatif Akış Diyagramı (CFD) ve Hız. Raporları yeni analiz sekmesinde görebilirsiniz.

Sprint ilerlemesi, iş akışı ve takım hızı gibi ölçümler, ekibinizin ilerleme durumunun görünürlüğünü sağlar ve aşağıdaki gibi soruları yanıtlamanıza yardımcı olur:

  • Bu sprint'te ne kadar çalışmamız kaldı? İşlemi tamamlamak için doğru yolda miyiz?
  • Geliştirme sürecinin hangi adımı en uzun sürüyor? Bu konuda bir şey yapabilir miyiz?
  • Önceki yinelemelere dayanarak sprint'in sonraki adımında ne kadar çalışma planlamamız gerekir?

Not

Üst bilgilerde daha önce gösterilen grafikler, bu gelişmiş raporlarla değiştirilmiştir.

Yeni raporlar tamamen etkileşimlidir ve bunları ihtiyaçlarınıza göre ayarlamanıza olanak sağlar. Yeni raporları her hub'daki Analiz sekmesinde bulabilirsiniz.

  • İlerleme grafiği Sprints hub'ı altında bulunabilir.

    Analiz sekmesindeki burndown grafiğinin ekran görüntüsü.

  • CFD ve Velocity raporlarına Ilgili karta tıklayarak Panolar ve Kapsamlar altındaki Analiz sekmesinden erişilebilir.

    Analiz sekmesindeki Kümülatif Akış Diyagramı raporunun ve Hız raporunun ekran görüntüsü.

Yeni raporlarla ekibiniz hakkında daha fazla denetim ve bilgiye sahip olursunuz. İşte bazı örnekler:

  • Sprint İlerleme ve Hız raporları, iş öğelerinin sayısını veya kalan çalışma toplamını kullanacak şekilde ayarlanabilir.
  • Proje tarihlerini etkilemeden sprint yazma işleminin zaman çerçevesini ayarlayabilirsiniz. Bu nedenle, takımınız genellikle her sprint planlamasının ilk gününü geçiriyorsa, şimdi grafiği bunu yansıtacak şekilde eşleştirebilirsiniz.
  • Burndown grafiğinde artık hafta sonlarını gösteren bir filigran vardır.
  • CFD raporu, ekiplerin denetimine sahip olduğu akışa daha fazla odaklanmak için Tasarım gibi pano sütunlarını kaldırmanıza olanak tanır.

Aşağıda, Hikayeler kapsamındaki son 30 günün akışını gösteren CFD raporu örneği verilmiştir.

Analiz sekmesindeki Birikmeli Akış Diyagramı'nın ekran görüntüsü.

Hız grafiği artık tüm kapsam düzeyleri için izlenebilir. Örneğin, önceki grafik yalnızca Gereksinimler'i desteklerken artık hem Özellikler hem de Epic'ler ekleyebilirsiniz. Aşağıda Özellikler kapsamı'nın son 6 yinelemesi için bir hız raporu örneği verilmiştir.

Analiz sekmesindeki Hız grafiğinin ekran görüntüsü.

Görev Panosu sütunlarını özelleştirme

Görev Panosundaki sütunları özelleştirmenize olanak sağlayan bir seçenek eklediğimiz için heyecanlıyız. Artık sütunları ekleyebilir, kaldırabilir, yeniden adlandırabilir ve yeniden sıralayabilirsiniz.

Görev Panonuzdaki sütunları yapılandırmak için Sütun Seçenekleri'ne gidin.

Sütun Seçenekleri seçeneği vurgulu görev panosunun ekran görüntüsü.

Bu özellik, Geliştirici Topluluğu bir öneriye göre önceliklendirilmiştir.

Kapsam üzerinde tamamlanmış alt iş öğelerini göstermek veya gizlemek için geçiş yapın

Çoğu zaman kapsamı iyileştirirken yalnızca tamamlanmamış öğeleri görmek istersiniz. Artık, kapsam üzerinde tamamlanmış alt öğeleri gösterme veya gizleme olanağına sahipsiniz.

İki durumlu düğme açıksa, tüm alt öğeleri tamamlanmış durumda görürsünüz. İki durumlu düğme kapalı olduğunda, tamamlanmış durumdaki tüm alt öğeler kapsam dışında gizlenir.

Alt öğeleri kapsam üzerinde göstermeyi veya gizlemeyi gösteren kısa video.

İş öğesini etiketlerken görüntülenen en son etiketler

Bir iş öğesini etiketlerken otomatik tamamlama seçeneği artık en son kullandığınız beş etikete kadar görüntülenir. Bu, iş öğelerinize doğru bilgileri eklemeyi kolaylaştırır.

Bir iş öğesi etiketlenirken görüntülenen en son kullanılan etiketleri gösteren ekran görüntüsü.

Grup üyeliği için salt okunur ve gerekli kurallar

İş öğesi kuralları, çalışma öğesi alanlarında davranışları otomatikleştirmek için belirli eylemler ayarlamanıza olanak verir. Bir alanı salt okunur veya grup üyeliğine göre gerekli olarak ayarlamak için bir kural oluşturabilirsiniz. Örneğin, ürün sahiplerine diğer herkes için salt okunur hale getirirken özelliklerinizin önceliğini ayarlama olanağı vermek isteyebilirsiniz.

Koşullar bölümünü ve Eylemler bölümünü gösteren Yeni iş öğesi kuralı iletişim kutusunun ekran görüntüsü.

Sistem seçim listesi değerlerini özelleştirme

Artık Önem Derecesi, Etkinlik, Öncelik gibi herhangi bir sistem seçim listesinin (neden alanı hariç) değerlerini özelleştirebilirsiniz. Her iş öğesi türü için aynı alan için farklı değerleri yönetebilmeniz için seçim listesi özelleştirmelerinin kapsamı belirlenmiştir.

Sistem seçim listesi değerlerini özelleştirmeyi gösteren kısa video.

Yeni iş öğesi URL parametresi

Yeni iş öğesi URL parametresiyle panonuzun veya kapsamınızın bağlamıyla iş öğelerine bağlantılar paylaşın. Artık url'ye parametresini ?workitem=[ID] ekleyerek pano, kapsam veya sprint deneyiminizde bir iş öğesi iletişim kutusu açabilirsiniz.

Bağlantıyı paylaştığınız herkes, bağlantıyı paylaştığınızda sahip olduğunuz bağlamla aynı yere iner!

Metin alanlarında kişilerden, iş öğelerinden ve PR'lerden bahsetme

Geri bildiriminizi dinlediğimizde, yalnızca yorumlarda değil, iş öğesi açıklama alanında (ve diğer HTML alanlarında) kişiler, iş öğeleri ve PR'lerden bahsedebilmek istediğinizi duyduk. Bazen bir iş öğesi üzerinde biriyle işbirliği yaptığınız veya iş öğesi açıklamanızda bir çekme isteğini vurgulamak istediğiniz halde bu bilgileri eklemenin bir yolu yoktu. Artık iş öğesindeki tüm uzun metin alanlarındaki kişilerden, iş öğelerinden ve ÇEKME'lerden bahsedebilirsiniz.

Burada bir örnek görebilirsiniz.

İş öğesi Açıklaması alanındaki kişilerden, iş öğelerinden ve pr'lerden bahsedebileceğinizi gösteren ekran görüntüsü.

  • Kişi bahsetmelerini kullanmak için, işareti ve bahsetmek istediğiniz kişinin adını yazın @ . @mentions iş öğesindeki alanlar, açıklamalar için yaptıkları gibi e-posta bildirimleri oluşturur.
  • İş öğesi bahsetmelerini kullanmak için, işareti ve ardından iş öğesi kimliğini veya başlığını yazın # . #mentions iki iş öğesi arasında bir bağlantı oluşturur.
  • Çekme isteği bahsetmelerini kullanmak için bir ! ekleyin ve ardından çekme isteği kimliğinizi veya adınızı ekleyin.

Tartışma açıklamalarına tepkiler

Temel hedeflerimizden biri, iş öğelerini ekipler için daha işbirliğine dayalı hale getirmektir. Yakın zamanda , iş öğesiyle ilgili tartışmalarda hangi işbirliği özelliklerini istediğinizi öğrenmek için Twitter'da bir anket gerçekleştirdik. Yorumlara tepkiler getirmek anketi kazandı, bu yüzden bunları ekliyoruz! Twitter anketinin sonuçları aşağıdadır.

Yanıtlayanların %35'inin Yorumlara tepkiler özelliğini istediğini gösteren Azure DevOps twitter anketinin ekran görüntüsü.

Herhangi bir açıklamaya tepki ekleyebilirsiniz ve tepkilerinizi eklemenin iki yolu vardır: herhangi bir yorumun sağ üst köşesindeki gülen yüz simgesi ve mevcut tepkilerin yanındaki bir yorumun alt kısmı. İsterseniz altı tepkiyi de ekleyebilirsiniz, ya da yalnızca bir veya iki. Tepkinizi kaldırmak için, yorumunuzun altındaki tepkiye tıklayın; bu işlem kaldırılacaktır. Aşağıda tepki ekleme deneyimini ve bir yorumda tepkilerin nasıl göründüğünü görebilirsiniz.

Açıklamalara iki farklı şekilde tepki ekleyebildiğinizi gösteren ekran görüntüsü.

Azure Boards raporları panoya sabitleme

Sprint 155 Güncelleştirmesi'nde CFD ve Velocity raporlarının güncelleştirilmiş sürümlerini dahil ettik. Bu raporlar, Panolar ve Kapsamlar'ın Analiz sekmesinde bulunur. Artık raporları doğrudan Panonuza sabitleyebilirsiniz. Raporları sabitlemek için, raporun üzerine gelin ve "..." üç noktasını seçin menüsünü ve Panoya Kopyala'yı seçin.

Panoya Kopyala seçeneğini gösteren ekran görüntüsü.

Boards kapsamlarında Toplama özelliğini kullanarak üst öğelerin ilerleme durumunu izleme

Toplama sütunları, hiyerarşi içindeki sayısal alanların veya alt öğelerin ilerleme çubuklarını ve/veya toplamlarını gösterir. Alt öğe, hiyerarşideki tüm alt öğelere karşılık gelir. Ürün veya portföy kapsamına bir veya daha fazla toplama sütunu eklenebilir.

Örneğin, burada kapalı olan alt öğelerin yüzdesine göre artan iş öğelerinin ilerleme çubuklarını görüntüleyen İş Öğelerine Göre İlerlemeyi gösteriyoruz. Epic'ler için alt öğeler, tüm alt Özellikleri ve alt veya genel alt iş öğelerini içerir. Özellikler için alt öğeler tüm alt Kullanıcı Hikayelerini ve onların alt iş öğelerini içerir.

Bir kapsam içindeki iş öğelerinin ekran görüntüsü.

Görev panosu canlı güncelleştirmeleri

Artık değişiklikler olduğunda görev panonuz otomatik olarak yenilenir! Diğer ekip üyeleri görev panosundaki kartları taşıdıkça veya yeniden sıraladıkça, panonuz bu değişikliklerle otomatik olarak güncelleştirilir. En son değişiklikleri görmek için artık F5 tuşuna basmanız gerekmez.

Toplama sütunlarında özel alanlar için destek

Toplama artık özel alanlar da dahil olmak üzere herhangi bir alanda yapılabilir. Toplama sütunu eklerken, Hızlı listesinden bir Toplama sütunu seçebilirsiniz, ancak ilk çalıştırma işlemi şablonunun parçası olmayan sayısal alanlarda toplama yapmak istiyorsanız, aşağıdaki gibi kendi sütununuzu yapılandırabilirsiniz:

  1. Kapsamınızda "Sütun seçenekleri"ne tıklayın. Ardından panelde "Toplama sütunu ekle" ve Özel toplamayı yapılandır'a tıklayın.

    Toplama sütunu ekle açılan listesinin ekran görüntüsü.

  2. İlerleme Çubuğu ile Toplam arasında seçim yapın.
  3. Bir iş öğesi türü veya Kapsam düzeyi seçin (genellikle kapsamlar birkaç iş öğesi türünü toplar).
  4. Toplama türünü seçin. İş öğelerinin veya Toplam'ın sayısı. Sum için özetlemek istediğiniz alanı seçmeniz gerekir.
  5. Tamam düğmesi sizi yeni özel sütununuzu yeniden sıralayabileceğiniz sütun seçenekleri paneline getirir.

Yeni özel sütunu gösteren sütun seçenekleri panelinin ekran görüntüsü.

Tamam'a tıkladıktan sonra özel sütununuzu düzenleyemezsiniz. Değişiklik yapmanız gerekiyorsa, özel sütunu kaldırın ve istediğiniz şekilde başka bir sütun ekleyin.

Bir iş öğesi formundaki alanları koşula göre gizlemek için yeni kural

Devralınan kurallar altyapısına, iş öğesi formundaki alanları gizlemenizi sağlamak için yeni bir kural ekledik. Bu kural, kullanıcı grubu üyeliğine göre alanları gizler. Örneğin, kullanıcı "ürün sahibi" grubuna aitse, geliştiriciye özgü bir alanı gizleyebilirsiniz. Daha fazla ayrıntı için buradaki belgelere bakın.

Özel iş öğesi bildirim ayarları

Sizinle veya ekibinizle ilgili iş öğeleri hakkında güncel kalmak son derece önemlidir. Ekiplerin işbirliği yapmasına ve projelerle ilgili gelişmelerden haberdar olmasına yardımcı olur ve tüm doğru tarafların dahil olduğundan emin olur. Ancak, farklı paydaşların farklı çabalara farklı yatırım düzeyleri vardır ve bunun bir iş öğesinin durumunu takip etme becerinize yansıtılması gerektiğine inanıyoruz.

Daha önce, bir iş öğesini takip etmek ve yapılan değişikliklerle ilgili bildirimler almak istiyorsanız, iş öğesinde yapılan tüm değişiklikler için e-posta bildirimleri alırsınız. Geri bildiriminizi değerlendirdikten sonra, bir iş öğesini takip etmeyi tüm paydaşlar için daha esnek hale getiriyoruz. Şimdi, iş öğesinin sağ üst köşesindeki Takip Et düğmesinin yanında yeni bir ayarlar düğmesi göreceksiniz. Bu sizi aşağıdaki seçenekleri yapılandırmanıza olanak sağlayan bir açılır pencereye götürür.

İmleci dişli simgesinin üzerine getirerek bir iş öğesinin sağ üst köşesinin ekran görüntüsü.

Bildirim Ayarları'ndan üç bildirim seçeneği arasından seçim yapabilirsiniz. İlk olarak, aboneliğinizi tamamen kaldırabilirsiniz. İkincisi, tüm iş öğesi değişiklikleri için bildirim alabileceğiniz tam abone olabilirsiniz. Son olarak, en önemli ve önemli iş öğesi değişikliği olaylarından bazıları için bildirim almayı seçebilirsiniz. Yalnızca bir veya üç seçeneğin tümünü seçebilirsiniz. Bu, ekip üyelerinin iş öğelerini daha üst düzeyde izlemesine olanak sağlar ve yapılan her değişiklik dikkatinizi dağıtmaz. Bu özellik sayesinde gereksiz e-postaları ortadan kaldıracak ve elinizdeki önemli görevlere odaklanmanızı sağlayacaksınız.

Durum Değişti seçeneği ve Yineleme Değiştirildi seçeneğiyle birlikte Özel radyo düğmesinin seçili olduğunu gösteren Bildirim Ayarları iletişim kutusunun ekran görüntüsü.

İş öğesi formunda Dağıtım denetimini yayınlamak için heyecanlıyız. Bu denetim, iş öğelerinizi bir sürüme bağlar ve iş öğenizin dağıtıldığı yeri kolayca izlemenizi sağlar. Daha fazla bilgi edinmek için buradaki belgelere bakın.

İş öğesi formundaki Dağıtım denetimini gösteren ekran görüntüsü.

İŞ öğelerini CSV dosyasından içeri aktarma

Şimdiye kadar, bir CSV dosyasından iş öğelerini içeri aktarmak Excel eklentisinin kullanılmasına bağımlıydı. Bu güncelleştirmede, yeni iş öğelerini içeri aktarabilmeniz veya mevcut iş öğelerini güncelleştirebilmeniz için doğrudan Azure Boards'den birinci sınıf içeri aktarma deneyimi sağlıyoruz. Daha fazla bilgi edinmek için buradaki belgelere bakın.

CSV dosyasından iş öğelerini içeri aktarmayı gösteren kısa video.

İş öğesi kartlarına üst alan ekleme

Üst bağlam artık Kanban panonuzda iş öğesi kartları için yeni bir alan olarak kullanılabilir. Artık Etiketleri ve ön ekleri gibi geçici çözümleri kullanma gereksinimini atlayarak Kartlarınıza Üst alanı ekleyebilirsiniz.

Üst seçeneği vurgulu bir iş öğesi kartını gösteren ekran görüntüsü.

Kapsam ve sorgulara üst alan ekleme

Üst alan artık kapsamlar ve sorgu sonuçları görüntülenirken kullanılabilir. Üst alanı eklemek için Sütun seçenekleri görünümünü kullanın.

Üst seçeneğin vurgulu olduğu Sütun seçenekleri bölümünün ekran görüntüsü.

Repos

Çekme istekleri için kod kapsamı ölçümleri ve dal ilkesi

Artık çekme isteği (PR) görünümündeki değişiklikler için kod kapsamı ölçümlerini görebilirsiniz. Bu, otomatikleştirilmiş testlerle değişikliklerinizi yeterli şekilde test ettiğinizi güvence altına alır. Kapsam durumu, çekme isteğine genel bakış bölümünde açıklama olarak görünür. Dosya fark görünümünde değiştirilen her kod satırı için kapsam bilgilerinin ayrıntılarını görüntüleyebilirsiniz.

Çekme isteği (PR) görünümündeki değişiklikler için kod kapsamı ölçümlerini görebildiğinizi gösteren ekran görüntüsü.

Dosyaya eklenen yeni kod satırını gösteren çekme isteği farkını gösteren ekran görüntüsü.

Buna ek olarak, depo sahipleri artık kod kapsamı ilkeleri ayarlayabilir ve büyük, test edilmemiş değişikliklerin bir dalda birleştirilmesini önleyebilir. İstenen kapsam eşikleri, deponun kökünde iade edilen bir azurepipelines-coverage.yml ayarlar dosyasında tanımlanabilir ve kapsam ilkesi, Azure Repos ek hizmetler için mevcut bir dal yapılandırma ilkesi kullanılarak tanımlanabilir.

Belirtilen Durum ilkesi ekle seçeneğinin ve seçeneği belirlediğinizde görüntülenen Durum ilkesi ekle bölümünün ekran görüntüsü.

Çekme isteklerinden gelen açıklama bildirimlerini filtreleme

Çekme isteklerindeki açıklamalar genellikle bildirimler nedeniyle çok fazla gürültü oluşturabilir. Abone olduğunuz açıklama bildirimlerini açıklama yaşına, yorumlayıcıya, silinen açıklamaya, bahsedilen kullanıcılara, çekme isteği yazarına, hedef dal ve iş parçacığı katılımcılarına göre filtrelemenizi sağlayan özel bir abonelik ekledik. Sağ üst köşedeki kullanıcı simgesine tıklayıp Kullanıcı ayarları'na giderek bu bildirim aboneliklerini oluşturabilirsiniz.

Çekme isteklerindeki açıklama bildirimlerini filtrelemeyi gösteren ekran görüntüsü.

Filtre ölçütü sayfasını ve Alan açılan listesinin içeriğini gösteren ekran görüntüsü.

Çekme isteği açıklamaları için hizmet kancaları

Artık depoya ve hedef dala göre çekme isteğindeki açıklamalar için hizmet kancaları oluşturabilirsiniz.

Yeni Hizmet Kancaları Aboneliği sihirbazının ekran görüntüsü.

Belirtilen desenlere sahip dosyaları engelleme ilkesi

Yöneticiler artık dosya türlerine ve yollarına göre işlemelerin bir depoya gönderilmesini önlemek için bir ilke ayarlayabilir. Dosya adı doğrulama ilkesi, sağlanan desenle eşleşen gönderimleri engeller.

Dosya adı doğrulama seçeneğinin Açık olarak ayarlandığı İlkeler bölümünü gösteren ekran görüntüsü.

Anahtar sözcükleri kullanarak işlemeler aracılığıyla iş öğelerini çözümleme

Artık düzeltme, düzeltme veya düzelt gibi anahtar sözcükleri kullanarak varsayılan dala yapılan işlemeler aracılığıyla iş öğelerini çözümleyebilirsiniz. Örneğin, işleme iletinizde "bu değişiklik düzeltildi #476" yazabilirsiniz ve işleme gönderildiğinde veya varsayılan dala birleştirildiğinde iş öğesi #476 tamamlanır. Daha fazla ayrıntı için buradaki belgelere bakın.

Otomatik gözden geçirenler için ayrıntı düzeyi

Daha önce, çekme isteğine grup düzeyinde gözden geçirenler eklenirken, eklenen gruptan yalnızca bir onay gerekiyordu. Artık otomatik gözden geçirenler eklerken ekipten birden fazla gözden geçirenin çekme isteğini onaylamasını gerektiren ilkeler ayarlayabilirsiniz. Ayrıca, istek sahiplerinin kendi değişikliklerini onaylamasını önlemek için bir ilke ekleyebilirsiniz.

Gözden geçirenleri otomatik olarak ekle iletişim kutusunu gösteren ekran görüntüsü.

AKS'ye bağlanmak için hizmet hesabı tabanlı kimlik doğrulamasını kullanma

Daha önce AKS Dağıtım Merkezi'nden Azure Pipelines'ı yapılandırırken bir Azure Resource Manager Bağlantısı kullanıyorduk. Bu bağlantının yalnızca işlem hattının yapılandırıldığı ad alanına değil kümenin tamamına erişimi vardı. Bu güncelleştirmeyle, işlem hatlarımız kümeye bağlanmak için hizmet hesabı tabanlı kimlik doğrulamasını kullanır, böylece yalnızca işlem hattıyla ilişkili ad alanına erişimi olur.

Çekme isteği yan yana farkta Markdown dosyalarının önizlemesini görüntüleme

Artık yeni Önizleme düğmesini kullanarak markdown dosyasının nasıl görüneceğine ilişkin bir önizleme görebilirsiniz. Ayrıca, Görünüm düğmesini seçerek yan yana farktan dosyanın tüm içeriğini görebilirsiniz.

Görünüm ve Önizleme seçenekleri vurgulu bir projedeki markdown dosyasını gösteren ekran görüntüsü.

El ile derlemeler için derleme ilkesi süre sonu

İlkeler, ekibinizin kod kalitesini ve değişiklik yönetimi standartlarını zorlar. Daha önce, otomatik derlemeler için derleme süre sonu ilkeleri ayarlayabilirsiniz. Artık el ile derlemelerinize de derleme süre sonu ilkeleri ayarlayabilirsiniz.

Derleme süre sonu bölümünün yer alan Derleme ilkesi ekle iletişim kutusunun ekran görüntüsü.

İşleme yazarı e-postasına göre işlemeleri engellemek için ilke ekleme

Yöneticiler artık işlemelerin, işleme yazarı e-postasının sağlanan desenle eşleşmediği bir depoya gönderilmesini önlemek için bir gönderme ilkesi ayarlayabilir.

İlkeler sekmesindeki Tüm Git depoları için İlkeler'i gösteren ve Yazar e-posta doğrulaması işle seçeneğinin Açık olarak ayarlandığı ekran görüntüsü.

Bu özellik, benzer bir deneyim sunmak için Geliştirici Topluluğu bir öneriye göre önceliklendirildi. Bileti açık tutmaya devam edeceğiz ve kullanıcıların görmek istediğiniz diğer gönderim ilkeleri türlerini bize bildirmelerini öneririz.

Çekme isteğinde dosyaları gözden geçirildi olarak işaretleme

Bazen, çok sayıda dosyada değişiklik içeren çekme isteklerini gözden geçirmeniz gerekir ve daha önce gözden geçirdiğiniz dosyaları izlemek zor olabilir. Artık bir çekme isteğinde dosyaları gözden geçirilmiş olarak işaretleyebilirsiniz.

Dosya adının yanındaki açılan menüyü kullanarak veya üzerine gelip dosya adına tıklayarak dosyayı gözden geçirildi olarak işaretleyebilirsiniz.

Not

Bu özelliğin amacı, çekme isteğini gözden geçirirken ilerleme durumunuzu izlemektir. Çekme isteklerinde oylamayı temsil etmediğinden, bu işaretler yalnızca gözden geçiren tarafından görülebilir.

Dosya gezgininde görüntüle ve Gözden geçirildi olarak işaretle seçeneklerinin göründüğü projeyi gösteren ekran görüntüsü.

Bu özellik, Geliştirici Topluluğu bir öneriye göre önceliklendirilmiştir.

Azure Repos giriş sayfaları için yeni Web Kullanıcı Arabirimi

Artık Azure Repos içinde yeni modern, hızlı ve mobil uyumlu giriş sayfalarımızı deneyebilirsiniz. Bu sayfalar Yeni Depo giriş sayfaları olarak kullanılabilir. Giriş sayfaları çekme isteği ayrıntıları, işleme ayrıntıları ve dal karşılaştırması dışında tüm sayfaları içerir.

Web

Azure Repos giriş sayfaları için yeni web kullanıcı arabiriminin ekran görüntüsü.

Mobil

Azure Repos giriş sayfaları için yeni mobil kullanıcı arabiriminin ekran görüntüsü.

Depolar arası dal ilke yönetimi

Dal ilkeleri, Azure Repos önemli dalları korumanıza yardımcı olan güçlü özelliklerinden biridir. Proje düzeyinde ilke ayarlama özelliği REST API'de mevcut olsa da, bunun için bir kullanıcı arabirimi yoktu. Yöneticiler artık projelerindeki tüm depolarda belirli bir dalda veya varsayılan dalda ilkeler ayarlayabilir. Örneğin, bir yöneticinin projesindeki her depodaki her ana dala yapılan tüm çekme istekleri için en az iki gözden geçiren gerektirebilir. Dal koruması ekle özelliğini Depo Proje Ayarları'nda bulabilirsiniz.

Dal koruması ekle iletişim kutusunun ekran görüntüsü.

Yeni web platformu dönüştürme giriş sayfaları

Repos giriş sayfaları kullanıcı deneyimini modern, hızlı ve mobil kullanımı kolay hale getirmek için güncelleştirdik. Güncelleştirilmiş olan sayfalara ilişkin iki örnek aşağıda verilmiştir. Sonraki güncelleştirmelerde diğer sayfaları güncelleştirmeye devam edeceğiz.

Web deneyimi:

Web platformu dönüştürme giriş sayfalarının ekran görüntüsü.

Mobil deneyim:

Mobil platform dönüştürme Dosyaları sayfasının ekran görüntüsü.

Mobil platform dönüştürme İşlemeleri sayfasının ekran görüntüsü.

Kotlin dili desteği

Artık dosya düzenleyicisinde Kotlin dili vurgusunu desteklediğimizi duyurmaktan heyecan duyuyoruz. Vurgulama, Kotlin metin dosyanızın okunabilirliğini artırır ve hataları bulmak için hızlı bir şekilde taramanıza yardımcı olur. Geliştirici Topluluğu bir öneriye dayanarak bu özelliğe öncelik verdik.

Kullanıcı arabiriminde görüntülenen Kotlin dosyasının ekran görüntüsü.

Taslak çekme istekleri için özel bildirim aboneliği

Çekme isteklerinden gelen e-posta bildirimlerinin sayısını azaltmaya yardımcı olmak için artık taslak durumunda oluşturulan veya güncelleştirilen çekme istekleri için özel bir bildirim aboneliği oluşturabilirsiniz. Özellikle taslak çekme isteklerine yönelik e-postalar alabilir veya çekme isteği gözden geçirilmeye hazır olmadan ekibinizin bildirim almaması için taslak çekme isteklerindeki e-postaları filtreleyebilirsiniz.

Taslak'ın Filtre ölçütleri özelliğine bir seçenek olarak eklendiğini gösteren Yeni abonelik iletişim kutusunun ekran görüntüsü.

Geliştirilmiş çekme isteği eyleme geçilebilirliği

Gözden geçirmeniz gereken çok sayıda çekme isteği olduğunda, ilk olarak nerede işlem yapmanız gerektiğini anlamak zor olabilir. Çekme isteği eyleme geçilebilirliğini geliştirmek için artık çekme isteği listesi sayfasında, taslak durumu gibi filtrelemek üzere birkaç yeni seçeneğin yer aldığı birden çok özel sorgu oluşturabilirsiniz. Bu sorgular, çekme isteği sayfanızda "Benim oluşturduğum" ve "Bana atanan" bölümlerine ek olarak ayrı ve daraltılabilir bölümler oluşturur. Ayrıca, Oy menüsü veya çekme isteği listesi sayfasındaki bağlam menüsü aracılığıyla eklendiğiniz çekme isteğini gözden geçirmeyi reddedebilirsiniz. Özel bölümlerde artık üzerinde inceleme sağladığınız veya gözden geçirmeyi reddettiniz çekme istekleri için ayrı sekmeler göreceksiniz. Bu özel sorgular koleksiyon giriş sayfasının "Çekme isteklerim" sekmesindeki depolarda çalışır. Bir çekme isteğine geri dönmek isterseniz, bunu bayrakla işaretleyebilirsiniz; bunlar listenizin en üstünde gösterilir. Son olarak, otomatik tamamlama olarak ayarlanmış çekme istekleri listede 'Otomatik tamamlama' yazan bir hapla işaretlenir.

Pipelines

Çok aşamalı işlem hatları

İşlem hatlarınızı yönetmek için güncelleştirilmiş bir kullanıcı deneyimi üzerinde çalışıyoruz. Bu güncelleştirmeler işlem hatlarının modern ve Azure DevOps yönüyle tutarlı olmasını sağlar. Ayrıca, bu güncelleştirmeler klasik derleme işlem hatlarını ve çok aşamalı YAML işlem hatlarını tek bir deneyimde bir araya getirir. Mobil kullanıma uygundur ve işlem hatlarınızı yönetme şeklinize yönelik çeşitli iyileştirmeler sunar. İşlem hattı ayrıntılarını detaya gidebilir ve görüntüleyebilir, ayrıntıları, işlem hattı analizini, iş ayrıntılarını, günlükleri ve daha fazlasını görüntüleyebilirsiniz.

Yeni deneyime aşağıdaki özellikler eklenmiştir:

  • birden çok aşamayı görüntüleme ve yönetme
  • işlem hattı çalıştırmalarını onaylama
  • işlem hattı devam ederken günlüklerde geri kaydırma
  • bir işlem hattının dal başına sistem durumu.

YAML'de sürekli dağıtım

Azure Pipelines YAML CD özelliklerini sağladığımız için heyecanlıyız. Artık işlem hatlarınızın her birini CI, CD veya CI ve CD ile birlikte yapılandırabilmeniz için birleşik bir YAML deneyimi sunuyoruz. YAML CD özellikleri, çok aşamalı YAML işlem hatlarını kullanan tüm koleksiyonlar için kullanılabilen birkaç yeni gelişmiş özellik sunar. Önemli noktalardan bazıları:

Oluşturmaya başlamaya hazırsanız çok aşamalı CI/CD işlem hatları oluşturmaya yönelik belgelere veya bloga göz atın.

YAML düzenleyicisinde işlem hattı değişkenlerini yönetme

YAML düzenleyicisinde işlem hattı değişkenlerini yönetme deneyimini güncelleştirdik. ARTıK YAML işlem hatlarınıza değişken eklemek veya güncelleştirmek için klasik düzenleyiciye gitmeniz gerekmez.

Değişkenler iletişim kutusunu gösteren ekran görüntüsü.

Yayınları doğrudan Yayınlar hub'ından onaylama

Bekleyen onaylar üzerinde hareket etmek daha kolay hale getirildi. Daha önce, yayının ayrıntılar sayfasından bir sürümü onaylamak mümkündü. Artık yayınları doğrudan Yayınlar hub'ından onaylayabilirsiniz.

Yayınları doğrudan Yayın hub'ından onaylamayı gösteren ekran görüntüsü.

İşlem hatlarını kullanmaya başlama iyileştirmeleri

Başlarken sihirbazında sık sorulan bir soru, oluşturulan dosyayı yeniden adlandırma özelliğidir. Şu anda, deponuzun kökünde olduğu gibi azure-pipelines.yml iade edilir. Artık işlem hattını kaydetmeden önce bunu farklı bir dosya adına veya konuma güncelleştirebilirsiniz.

Son olarak, dosyayı farklı bir dalda azure-pipelines.yml denetlerken daha fazla denetime sahip olacağız çünkü bu daldan çekme isteği oluşturmayı atlamayı seçebilirsiniz.

İşlem hattını işlemeden veya çalıştırmadan tamamen ayrıştırılmış YAML belgesinin önizlemesini görüntüleyin

Bir önizleme ekledik ancak YAML işlem hatları için modu çalıştırmıyoruz . Artık bir YAML işlem hattını depoya işlemeden veya çalıştırmadan deneyebilirsiniz. Mevcut bir işlem hattı ve isteğe bağlı yeni YAML yükü göz önünde bulundurulduğunda, bu yeni API size tam YAML işlem hattını geri verecektir. Gelecek güncelleştirmelerde bu API yeni bir düzenleyici özelliğinde kullanılacaktır.

Geliştiriciler için: Şuna benzer bir JSON gövdesiyle POST'a dev.azure.com/<org>/<project>/_apis/pipelines/<pipelineId>/runs?api-version=5.1-preview gönderin:

{
  "PreviewRun": true,
  "YamlOverride": "
# your new YAML here, optionally
"
}

Yanıt, işlenen YAML'yi içerir.

YAML'de cron zamanlamaları

Daha önce, YAML işlem hatları için zamanlanmış bir tetikleyici belirtmek üzere kullanıcı arabirimi düzenleyicisini kullanabilirsiniz. Bu sürümle, YAML dosyanızda cron söz dizimini kullanarak derlemeleri zamanlayabilir ve aşağıdaki avantajlardan yararlanabilirsiniz:

  1. Kod olarak yapılandırma: Zamanlamaları kod kapsamında işlem hattınızla birlikte izleyebilirsiniz.
  2. İfade: Zamanlamaları tanımlama konusunda kullanıcı arabirimiyle yapabileceklerinize kıyasla daha fazla ifade gücüne sahipsiniz. Örneğin, saatte bir çalıştırma başlatan tek bir zamanlama belirtmek daha kolaydır.
  3. Endüstri standardı: Birçok geliştirici ve yönetici cron söz dizimini zaten biliyor.
schedules:
- cron: "0 0 * * *"
 displayName: Daily midnight build
 branches:
  include:
  - main
  - releases/*
  exclude:
  - releases/ancient/*
 always: true

Ayrıca cron zamanlamalarıyla ilgili sorunları tanılamanızı da kolaylaştırdık. İşlem hattını çalıştır menüsündeki Zamanlanmış çalıştırmalar, cron zamanlamalarınızla ilgili hataları tanılamanıza yardımcı olmak üzere işlem hattınız için yaklaşan birkaç zamanlanmış çalıştırmanın önizlemesini sağlar.

Zamanlanmış çalıştırmalar seçeneğinin vurgulandığı İşlem hattını çalıştır menüsünü gösteren ekran görüntüsü.

Hizmet bağlantıları kullanıcı arabirimine Güncelleştirmeler

Hizmet bağlantılarınızı yönetmek için güncelleştirilmiş bir kullanıcı deneyimi üzerinde çalışıyoruz. Bu güncelleştirmeler hizmet bağlantısı deneyimini modern ve Azure DevOps yönüyle tutarlı hale getirir. Hizmet bağlantıları için yeni kullanıcı arabirimini bu yılın başlarında önizleme özelliği olarak kullanıma sunduk. Yeni deneyimi deneyen ve bize değerli geri bildirimlerini sağlayan herkese teşekkür ederiz.

Yeni hizmet bağlantısı iletişim kutusunun ekran görüntüsü.

Kullanıcı deneyimini yenilemenin yanı sıra YAML işlem hatlarında hizmet bağlantılarını kullanmak için kritik öneme sahip iki özellik de ekledik: işlem hattı yetkilendirmeleri, onaylar ve denetimler.

YaML işlem hattında Onaylar ve denetimler seçeneğinin görünür olduğu Düzenle menüsünü gösteren ekran görüntüsü.

Bu güncelleştirmeyle yeni kullanıcı deneyimi varsayılan olarak açılacaktır . Yine de önizlemeyi geri çevirme seçeneğine sahip olursunuz.

Not

Yeni bir özellik olarak Hizmet Connections Çapraz Proje Paylaşımı'nı tanıtmayı planlıyoruz. Paylaşım deneyimi ve güvenlik rolleri hakkında daha fazla ayrıntıyı burada bulabilirsiniz.

YAML işlem hattında aşamaları atlama

El ile çalıştırma başlattığınızda, bazen işlem hattınızdaki birkaç aşamayı atlamak isteyebilirsiniz. Örneğin, üretim ortamına dağıtım yapmak istemiyorsanız veya üretim ortamındaki birkaç ortam için dağıtımı atlamak istiyorsanız. Bunu artık YAML işlem hatlarınızla yapabilirsiniz.

Güncelleştirilmiş çalıştırma işlem hattı paneli YAML dosyasındaki aşamaların listesini sunar ve bu aşamalardan birini veya daha fazlasını atlayabilirsiniz. Aşamaları atlarken dikkatli olmanız gerekir. Örneğin, ilk aşamanız sonraki aşamalar için gerekli olan bazı yapıtları üretirse, ilk aşamayı atlamamalısınız. Aşağı akış bağımlılıkları olan aşamaları atladığınızda çalıştırma paneli genel bir uyarı sunar. Bu bağımlılıkların gerçek yapıt bağımlılıkları olup olmadığı veya yalnızca dağıtımların sıralaması için mevcut olup olmadıkları konusunda size bırakılabilir.

Çalıştırılacak aşamalar seçeneğinin vurgulu olduğu İşlem hattını çalıştır bölümünü gösteren ekran görüntüsü.

Aşama atlanması, aşamalar arasındaki bağımlılıkları yeniden döndürmeye eşdeğerdir. Atlanan aşamanın hemen aşağı akış bağımlılıkları atlanan aşamanın yukarı akış üst öğesine bağlı olarak yapılır. Çalıştırma başarısız olursa ve başarısız bir aşamayı yeniden çalıştırmayı denerseniz, bu deneme aynı atlama davranışına da sahip olur. Atlanan aşamaları değiştirmek için yeni bir çalıştırma başlatmanız gerekir.

Geliştirme seçeneğinin ve dağıtım seçeneğinin seçili olduğu Çalıştırılacak aşamalar bölümünü gösteren ekran görüntüsü.

Hizmet bağlantıları varsayılan deneyim olarak yeni kullanıcı arabirimi

Yeni bir hizmet bağlantıları kullanıcı arabirimi vardır. Bu yeni kullanıcı arabirimi modern tasarım standartları üzerine kurulmuştur ve onaylar, yetkilendirmeler ve çapraz proje paylaşımı gibi çok aşamalı YAML CD işlem hatlarını desteklemek için çeşitli kritik özelliklerle birlikte gelir.

İşlem hattını çalıştır iletişim kutusunun ekran görüntüsü.

Hizmet bağlantıları hakkında daha fazla bilgiyi burada bulabilirsiniz.

Çalıştırma oluşturma iletişim kutusunda işlem hattı kaynak sürümü seçicisi

Çalıştırma oluşturma iletişim kutusunda işlem hattı kaynak sürümlerini el ile alma özelliğini ekledik. Bir işlem hattını başka bir işlem hattında kaynak olarak tüketirseniz, artık çalıştırma oluştururken bu işlem hattının sürümünü seçebilirsiniz.

Çalıştırılacak aşamalar iletişim kutusunun ekran görüntüsü.

az Azure Pipelines için CLI geliştirmeleri

İşlem hattı değişken grubu ve değişken yönetimi komutları

İşlem hattı değişkenlerini ve değişken gruplarını el ile ayarlamanız gerektiğinden YAML tabanlı işlem hatlarını bir projeden diğerine taşımanız zor olabilir. Ancak işlem hattı değişken grubu ve değişken yönetimi komutlarıyla artık işlem hattı değişkenlerinin ve değişken gruplarının kurulumu ve yönetimi için betik oluşturabilirsiniz. Bu sayede sürüm denetimi yapılabilir ve işlem hatlarını bir projeden diğerine taşıma ve ayarlama yönergelerini kolayca paylaşabilirsiniz.

Çekme isteği dalı için işlem hattı çalıştırma

Çekme isteği oluştururken değişikliklerin hedef daldaki işlem hattı çalıştırmasını bozup bozamadığını doğrulamak zor olabilir. Ancak, bir çekme isteği dalı için bir işlem hattı çalıştırmasını tetikleme veya derlemeyi kuyruğa ekleme özelliği sayesinde artık bunu hedef işlem hattında çalıştırarak yapılan değişiklikleri doğrulayabilir ve görselleştirebilirsiniz. Daha fazla bilgi için az pipelines run ve az pipelines build queue command belgelerine bakın.

İlk işlem hattı çalıştırmasını atlama

İşlem hatları oluştururken bazen bir YAML dosyası oluşturup işlemek ve işlem hattı çalıştırmasını tetiklememek istersiniz çünkü çeşitli nedenlerle hatalı bir çalıştırmaya neden olabilir- altyapı hazır değildir veya değişken/değişken grupları oluşturup güncelleştirmeniz vb. gerekebilir. Azure DevOps CLI ile şimdi --skip-first-run parametresini ekleyerek işlem hattı oluştururken ilk otomatik işlem hattı çalıştırmasını atlayabilirsiniz. Daha fazla bilgi için az pipeline create command belgelerine bakın .

Hizmet uç noktası komut geliştirmesi

Hizmet uç noktası CLI komutları yalnızca azure rm ve github hizmet uç noktası kurulumu ve yönetimi için desteklenir. Ancak bu sürümle birlikte hizmet uç noktası komutları, dosya aracılığıyla yapılandırmayı sağlayarak herhangi bir hizmet uç noktası oluşturmanıza olanak tanır ve iyileştirilmiş komutlar sağlar: az devops service-endpoint github ve az devops service-endpoint azurerm, bu tür hizmet uç noktaları oluşturmak için birinci sınıf destek sağlar. Daha fazla bilgi için komut belgelerine bakın .

Dağıtım işleri

Dağıtım işi, uygulamanızı bir ortama dağıtmak için kullanılan özel bir türüdür. Bu güncelleştirmeyle, bir dağıtım işinde adım başvuruları için destek ekledik. Örneğin, bir dosyada bir dizi adım tanımlayabilir ve buna bir dağıtım işinde başvurabilirsiniz.

Ayrıca dağıtım işine ek özellikler için destek ekledik. Örneğin, şimdi ayarlayabileceğiniz bir dağıtım işinin birkaç özelliği aşağıda verilmiştir:

  • timeoutInMinutes - otomatik olarak iptal etmeden önce işin çalıştırılma süresi
  • cancelTimeoutInMinutes - sonlandırmadan önce 'her zaman iptal edilmiş görevler olsa bile çalıştır' verilmesi gereken süre
  • condition - işi koşullu olarak çalıştırma
  • değişkenler - Sabit kodlanmış değerler doğrudan eklenebilir veya azure anahtar kasası tarafından desteklenen değişken gruplarına başvurabilir veya bir dosyada tanımlanan bir dizi değişkene başvurabilirsiniz.
  • continueOnError - bu dağıtım işi başarısız olsa bile gelecekteki işlerin çalışması gerekiyorsa; varsayılan değeri 'false' olarak ayarlanır

Dağıtım işleri ve dağıtım işi belirtmeye yönelik tam söz dizimi hakkında daha fazla bilgi için bkz . Dağıtım işi.

CI işlem hatlarında ilişkili CD işlem hatları bilgilerini gösterme

CI işlem hatlarının işlem hattı kaynakları olarak adlandırıldığı CD YAML işlem hattı ayrıntılarına destek ekledik. CI işlem hattı çalıştırma görünümünde artık işlem hattınızı ve yapıtlarınızı kullanan tüm işlem hattı çalıştırmalarını bulabileceğiniz yeni bir 'İlişkili işlem hatları' sekmesi göreceksiniz.

CI işlem hatlarında ilişkili CD işlem hatları bilgilerini gösteren ekran görüntüsü.

YAML işlem hatlarında GitHub paketleri desteği

Yakın zamanda YAML işlem hatlarında kaynak olarak GitHub'dan NuGet ve npm paketlerini kullanma desteği ekleyen packages adlı yeni bir kaynak türü ekledik. Bu kaynağın bir parçası olarak artık GitHub'dan kullanmak istediğiniz paket türünü (NuGet veya npm) belirtebilirsiniz. Yeni bir paket sürümünün yayımlanması üzerine otomatik işlem hattı tetikleyicilerini de etkinleştirebilirsiniz. Şu anda destek yalnızca GitHub'dan paketlerin tüketilmesi için kullanılabilir, ancak bundan sonra NuGet, npm, AzureArtifacts gibi diğer paket depolarından gelen paketleri kullanacak şekilde desteği genişletmeyi planlıyoruz. Ayrıntılar için aşağıdaki örniğe bakın:

resources:
  packages:
    - package: myPackageAlias # alias for the package resource
      type: Npm # type of the package NuGet/npm
      connection: GitHubConn # Github service connection of type PAT
      name: nugetTest/nodeapp # <Repository>/<Name of the package>
      version: 1.0.9 # Version of the packge to consume; Optional; Defaults to latest
      trigger: true # To enable automated triggers (true/false); Optional; Defaults to no triggers

Not

Bugün GitHub paketleri yalnızca PAT tabanlı kimlik doğrulamasını destekler, bu da paket kaynağındaki GitHub hizmet bağlantısının PAT türünde olması gerektiği anlamına gelir. Bu sınırlama kaldırıldıktan sonra diğer kimlik doğrulama türleri için destek sağlayacağız.

Varsayılan olarak, paketler işleriniz için otomatik olarak indirilmediğinden, kaynakta tanımlanan paketi kullanmanıza olanak tanıyan bir getPackage makrosunun kullanıma sunulmasını sağlar. Ayrıntılar için aşağıdaki örniğe bakın:

- job: job1
  pool: default
  steps:
    - getPackage: myPackageAlias # Alias of the package resource

İlgili kümenin Azure dikey penceresine gidebilmeniz için Kubernetes ortamlarının kaynak görünümüne bir bağlantı ekledik. Bu, Azure Kubernetes Service kümelerindeki ad alanlarına eşlenen ortamlar için geçerlidir.

Azure Kubernetes Service Kümesi bağlantısının vurgulu olduğu Kubernetes ortamı kaynak görünümünün ekran görüntüsü.

Bildirim aboneliklerindeki klasör filtrelerini serbest bırakma

Klasörler, daha kolay bulunabilirlik ve güvenlik denetimi için işlem hatlarını düzenlemeye olanak tanır. Genellikle bir klasör altındaki tüm işlem hatları tarafından temsil edilen tüm yayın işlem hatları için özel e-posta bildirimleri yapılandırmak isteyebilirsiniz. Daha önce, odaklanmış e-postaları almak için birden çok abonelik yapılandırmanız veya aboneliklerde karmaşık bir sorguya sahip olmanız gerekiyordu. Bu güncelleştirmeyle, artık dağıtım tamamlanan ve onay bekleyen olaylara bir yayın klasörü yan tümcesi ekleyebilir ve abonelikleri basitleştirebilirsiniz.

Bildirim aboneliklerindeki yayın klasörü filtrelerinin ekran görüntüsü.

Şu anda, iş öğelerini klasik derlemelerle otomatik olarak bağlayabilirsiniz. Ancak, YAML işlem hatlarında bu mümkün değildi. Bu güncelleştirmeyle bu açığı ele aldık. Belirtilen daldaki kodu kullanarak bir işlem hattını başarıyla çalıştırdığınızda, Azure Pipelines çalıştırmayı otomatik olarak tüm iş öğeleriyle ilişkilendirir (bu koddaki işlemeler aracılığıyla elde edilir). İş öğesini açtığınızda, o iş öğesinin kodunun oluşturulduğu çalıştırmaları görebilirsiniz. Bunu yapılandırmak için işlem hattının ayarlar panelini kullanın.

Çok aşamalı YAML işlem hattı çalıştırmasında aşamayı iptal etme

Çok aşamalı bir YAML işlem hattını çalıştırırken artık devam eden bir aşamanın yürütülmesini iptal edebilirsiniz. Bu, aşamanın başarısız olacağını biliyorsanız veya başlatmak istediğiniz başka bir çalıştırmanız varsa yararlıdır.

Başarısız aşamaları yeniden deneme

Çok aşamalı işlem hatlarında en çok istenen özelliklerden biri, başarısız bir aşamayı baştan başlamak zorunda kalmadan yeniden deneme olanağıdır. Bu güncelleştirmeyle, bu işlevselliğin büyük bir bölümünü ekliyoruz.

Artık yürütme başarısız olduğunda işlem hattı aşamasını yeniden deneyebilirsiniz. İlk denemede başarısız olan ve geçişli olarak bu başarısız işlere bağımlı olan tüm işler yeniden deneniyor.

Bu, çeşitli yollarla zaman kazanmanıza yardımcı olabilir. Örneğin, bir aşamada birden çok iş çalıştırdığınızda, her aşamanın farklı bir platformda test çalıştırmasını isteyebilirsiniz. Bir platformdaki testler diğerleri geçerken başarısız olursa, geçirilen işleri yeniden çalıştırmayarak zaman kazanabilirsiniz. Başka bir örnek olarak, flaky ağ bağlantısı nedeniyle bir dağıtım aşaması başarısız olmuş olabilir. Bu aşamayı yeniden denemek, başka bir derleme oluşturmak zorunda kalmadan zaman kazanmanıza yardımcı olur.

Bu özellikte bilinen birkaç boşluk vardır. Örneğin, açıkça iptal ettiğiniz bir aşamayı yeniden deneyemezsiniz. Gelecek güncelleştirmelerde bu boşlukları kapatmak için çalışıyoruz.

Çok aşamalı YAML işlem hatlarında onaylar

YAML CD işlem hatlarınız el ile onay içerebilir. Altyapı sahipleri ortamlarını koruyabilir ve herhangi bir işlem hattında dağıtılacak bir aşamadan önce el ile onaylar alabilir. Altyapı (ortam) ve uygulama (işlem hattı) sahipleri arasındaki rollerin tam olarak ayrılmasıyla, belirli bir işlem hattında dağıtım için el ile kapatmayı güvence altına alır ve aynı denetimlerin ortama tüm dağıtımlarda uygulanmasında merkezi denetim elde edersiniz.

Denetimler seçeneğinin altı çizili olarak Kaynak ekle menüsünün ekran görüntüsü.

Geliştirme aşamasına dağıtan işlem hattı çalıştırmaları, aşamanın başlangıcında onay için durdurulacaktır.

Dağıtımın onay beklediğini gösteren ekran görüntüsü.

Geçit zaman aşımı sınırında ve sıklığında artış

Daha önce yayın işlem hatlarında geçit zaman aşımı sınırı üç gündü. Bu güncelleştirmeyle, daha uzun sürelere sahip geçitlere izin vermek için zaman aşımı sınırı 15 güne yükseltildi. Ayrıca geçidin frekansını 30 dakikaya çıkardık.

Dockerfile için yeni derleme görüntüsü şablonu

Daha önce, yeni işlem hattı oluşturma işleminde Dockerfile için yeni bir işlem hattı oluşturulurken şablon görüntüyü bir Azure Container Registry göndermeyi ve bir Azure Kubernetes Service dağıtmayı önerirdi. Kapsayıcı kayıt defterine göndermeye gerek kalmadan aracıyı kullanarak görüntü oluşturmanıza olanak sağlamak için yeni bir şablon ekledik.

Docker iletişim kutusunun ekran görüntüsü.

Azure App Service uygulama ayarlarını yapılandırmak için yeni görev

Azure App Service uygulama ayarları, bağlantı dizeleri ve diğer genel yapılandırma ayarları gibi çeşitli ayarlar aracılığıyla yapılandırmaya izin verir. Artık web uygulamanızda veya dağıtım yuvalarından herhangi birinde JSON söz dizimini kullanarak bu ayarları toplu olarak yapılandırmayı destekleyen ayarlar Azure App Service yeni bir Azure Pipelines görevimiz var. Bu görev, Web uygulamalarınızı, İşlev uygulamalarınızı veya diğer kapsayıcılı Uygulama Hizmetleri'nizi dağıtmak, yönetmek ve yapılandırmak için diğer App Service görevleriyle birlikte kullanılabilir.

Azure App Service Ayarları iletişim kutusunu gösteren ekran görüntüsü.

Azure App Service artık Önizleme ile değiştirme desteğine sahip

Azure App Service artık dağıtım yuvalarında Önizleme ile değiştirme özelliğini destekliyor. Bu, uygulama bir hazırlama yuvasından üretim yuvasına değiştirilmeden önce uygulamayı üretim yapılandırmasıyla doğrulamanın iyi bir yoludur. Bu, hedef/üretim yuvasının kapalı kalma süresi yaşamamasını da sağlar.

Azure App Service görev artık aşağıdaki yeni eylemler aracılığıyla bu çok aşamalı değişimi destekliyor:

  • Önizleme ile Değiştirmeyi Başlat - Önizlemeyle değiştirme (çok fazlı değiştirme) başlatır ve hedef yuva (örneğin, üretim yuvası) yapılandırmasını kaynak yuvaya uygular.
  • Önizleme ile Değiştirme işlemini tamamlama - Bekleyen değişimi tamamlamaya hazır olduğunuzda, Değiştirme işlemini Önizleme ile Tamamla eylemini seçin.
  • Önizleme ile Değişimi İptal Et - Bekleyen bir değişimi iptal etmek için Önizleme ile Değişimi İptal Et'i seçin.

Eylem açılan listesinde yeni çok aşamalı değiştirme ayarının yer aldığı yönet Azure App Service iletişim kutusunu gösteren ekran görüntüsü.

Azure Container Registry ve Docker Hub yapıtları için aşama düzeyi filtresi

Daha önce, Azure Container Registry ve Docker Hub yapıtları için normal ifade filtreleri yalnızca yayın işlem hattı düzeyinde kullanılabilıyordu. Artık aşama düzeyinde de eklendiler.

Hazırlama düzeyinde normal ifadeleri kullanabileceğinizi gösteren ekran görüntüsü.

YAML işlem hatlarındaki onaylara yönelik geliştirmeler

Hizmet bağlantılarında ve aracı havuzlarında onayların yapılandırılmasını etkinleştirdik. Onaylar için altyapı sahipleri ve geliştiriciler arasındaki rol ayrımını takip ediyoruz. Ortamlar, hizmet bağlantıları ve aracı havuzları gibi kaynaklarınızda onayları yapılandırarak, kaynakları kullanan tüm işlem hattı çalıştırmalarının önce onay gerektireceğinden emin olabilirsiniz.

Bu deneyim, ortamlar için onayları yapılandırmaya benzer. Bir aşamada başvuruda bulunan bir kaynakta onay beklemede olduğunda, işlem hattının yürütülmesi işlem hattı el ile onaylanana kadar bekler.

El ile onayları kullan sayfasının ve İçerik Oluşturucu seçeneğinin görünür olduğu İlkeler sekmesini gösteren ekran görüntüsü.

Azure Pipelines'da kapsayıcı yapısı test desteği

Uygulamalarda kapsayıcıların kullanımı artmaktadır ve bu nedenle güçlü test ve doğrulama gereksinimi artmaktadır. Azure Pipelines artık Kapsayıcı Yapısı Testleri için destek getiriyor. Bu çerçeve, kapsayıcılarınızın içeriğini ve yapısını doğrulamak için kullanışlı ve güçlü bir yol sağlar.

Bir görüntünün yapısını birlikte çalıştırabileceğiniz dört test kategorisine göre doğrulayabilirsiniz: komut testleri, dosya varlığı testleri, dosya içeriği testleri ve meta veri testleri. İşlem hattındaki sonuçları kullanarak go/no kararları alabilirsiniz. Test verileri, hataları daha iyi gidermenize yardımcı olmak için bir hata iletisiyle birlikte işlem hattı çalıştırmasında kullanılabilir.

Yapılandırma dosyasını ve görüntü ayrıntılarını girin

Kapsayıcı Yapısı Test sayfasını gösteren ekran görüntüsü.

Test verileri ve özet

Özet ve test verilerinin kullanılabilir olduğunu gösteren ekran görüntüsü.

Yayın işlem hatları için işlem hattı dekoratörleri

İşlem hattı dekoratörleri, her işin başına ve sonuna adım eklemeye olanak sağlar. Bu, bir koleksiyondaki tüm işlem hatları için geçerli olduğundan tek bir tanıma adım eklemekten farklıdır.

Derlemeler ve YAML işlem hatları için dekoratörleri destekledik ve müşteriler bunları işlerindeki adımları merkezi olarak denetlemek için kullanıyor. Artık desteği yayın işlem hatlarını da genişletiyoruz. Yeni katkı noktasını hedefleyen adımlar eklemek için uzantılar oluşturabilirsiniz ve bunlar yayın işlem hatlarındaki tüm aracı işlerine eklenir.

Azure Resource Manager (ARM) aboneliği ve yönetim grubu düzeyine dağıtma

Daha önce yalnızca Kaynak Grubu düzeyinde dağıtımları destekliyorduk. Bu güncelleştirmeyle ARM şablonlarını hem abonelik hem de yönetim grubu düzeylerine dağıtma desteği ekledik. Bu, bir kaynak kümesini birlikte dağıtırken size yardımcı olur, ancak bunları farklı kaynak gruplarına veya aboneliklere yerleştirir. Örneğin, Azure Site Recovery için yedekleme sanal makinesini ayrı bir kaynak grubuna ve konuma dağıtma.

Çok aşamalı YAML işlem hatlarınız için CD özellikleri

Artık CI işlem hattınız tarafından yayımlanan yapıtları kullanabilir ve işlem hattı tamamlama tetikleyicilerini etkinleştirebilirsiniz. Çok aşamalı YAML işlem hatlarında kaynak olarak kullanıma sunuyoruz pipelines . YAML'nizde artık başka bir işlem hattına başvurabilir ve CD tetikleyicilerini etkinleştirebilirsiniz.

İşlem hatları kaynağı için ayrıntılı YAML şeması aşağıdadır.

resources: 
  pipelines:
  - pipeline: MyAppCI  # identifier for the pipeline resource
    project:  DevOpsProject # project for the build pipeline; optional input for current project
    source: MyCIPipeline  # source pipeline definition name
    branch: releases/M159  # branch to pick the artifact, optional; defaults to all branches
    version: 20190718.2 # pipeline run number to pick artifact; optional; defaults to last successfully completed run
    trigger:     # Optional; Triggers are not enabled by default.
      branches:  
        include:  # branches to consider the trigger events, optional; defaults to all branches.
        - main
        - releases/*
        exclude:   # branches to discard the trigger events, optional; defaults to none.
        - users/*  

Ayrıca, görevi kullanarak - download işlem hattı kaynağınız tarafından yayımlanan yapıtları indirebilirsiniz.

steps: 
- download: MyAppCI  # pipeline resource identifier
    artifact:  A1 # name of the artifact to download; optional; defaults to all artifacts

Diğer ayrıntılar için buradaki yapıtları indirme belgelerine bakın.

Kubernetes için ortamda kanarya dağıtım stratejisini düzenleme

Uygulama güncelleştirmelerinin sürekli tesliminin temel avantajlarından biri, belirli mikro hizmetler için güncelleştirmeleri hızla üretime gönderebilme özelliğidir. Bu, iş gereksinimlerindeki değişikliklere hızlı bir şekilde yanıt vermenizi sağlar. Ortam , dağıtım stratejilerinin düzenlenebilmesini ve sıfır kapalı kalma süresinin kolaylaştırılmasını sağlayan birinci sınıf bir kavram olarak tanıtıldı. Daha önce adımları sırayla yürüten runOnce stratejisini destekliyorduk. Çok aşamalı işlem hatlarında kanarya stratejisi desteğiyle, değişikliği küçük bir alt kümeye yavaşça dağıtarak riski azaltabilirsiniz. Yeni sürüme daha fazla güven kazandıkça altyapınızdaki daha fazla sunucuya dağıtabilir ve daha fazla kullanıcıyı bu sürüme yönlendirebilirsiniz.

jobs:
- deployment:
  environment: musicCarnivalProd
  pool:
    name: musicCarnivalProdPool 
  strategy:                 
    canary:     
      increments: [10,20] 
      preDeploy:                                    
        steps:          
        - script: initialize, cleanup....  
      deploy:            
        steps:
        - script: echo deploy updates...
        - task: KubernetesManifest@0
          inputs:
            action: $(strategy.action)      
            namespace: 'default'
            strategy: $(strategy.name)
            percentage: $(strategy.increment)
            manifests: 'manifest.yml'
      postRouteTaffic:
        pool: server
        steps:          
        - script: echo monitor application health...  
      on:
        failure:
          steps:
	  - script: echo clean-up, rollback...  
        success:
          steps:
          - script: echo checks passed, notify...

Kuberenetes için kanarya stratejisi, postRouteTraffic sırasında durumu izlerken değişiklikleri önce %10 pod ve ardından %20 ile dağıtır. Her şey yolunda giderse, %100'e yükseltecektir.

Ortamlarda VM kaynağı desteğiyle ilgili erken geri bildirimde bulunmak ve birden çok makinede sıralı dağıtım stratejisi gerçekleştirmek istiyoruz. Kaydolmak için bizimle iletişime geçin.

YAML işlem hatları için onay ilkeleri

YAML işlem hatlarında, kaynak sahibi tarafından denetlenen onay yapılandırmasını izleriz. Kaynak sahipleri, kaynağı kullanan aşama başlamadan önce onaylar için kaynağı duraklatan kaynak ve tüm işlem hatlarında onayları yapılandırır. SOX tabanlı uygulama sahiplerinin dağıtım isteğinde bulunanın kendi dağıtımlarını onaylamasını kısıtlaması yaygın bir durumdur.

Artık istek sahibinin onaylamaması, kullanıcıların bir alt kümesinden onay istemesi ve onay zaman aşımı gibi onay ilkelerini yapılandırmak için gelişmiş onay seçeneklerini kullanabilirsiniz.

onaylar İçerik Oluşturucu iletişim kutusunu gösteren ekran görüntüsü.

Birinci sınıf işlem hattı kaynağı olarak ACR

İşlem hattınızın bir parçası olarak ACR'de (Azure Container Registry) yayımlanan bir kapsayıcı görüntüsünü kullanmanız ve yeni bir görüntü yayımlandığında işlem hattınızı tetiklemeniz gerekiyorsa, ACR kapsayıcı kaynağını kullanabilirsiniz.

resources:
  containers:
  - container: MyACR  #container resource alias
    type: ACR
    azureSubscription: RMPM  #ARM service connection
    resourceGroup: contosoRG
    registry: contosodemo
    repository: alphaworkz
    trigger: 
      tags:
        include: 
        - production 

Ayrıca, önceden tanımlanmış değişkenler kullanılarak ACR görüntüsü meta verilerine erişilebilir. Aşağıdaki liste, işlem hattınızda bir ACR kapsayıcı kaynağı tanımlamak için kullanılabilen ACR değişkenlerini içerir.

resources.container.<Alias>.type
resources.container.<Alias>.registry
resources.container.<Alias>.repository
resources.container.<Alias>.tag 
resources.container.<Alias>.digest
resources.container.<Alias>.URI
resources.container.<Alias>.location

İşlem hatlarında yapıt denetimi ilkesini değerlendirmeye yönelik geliştirmeler

İlke tanımları listesinden ilke eklemeyi kolaylaştırmak için yapıt değerlendirme denetimini geliştirdik. İlke tanımı otomatik olarak oluşturulur ve gerekirse güncelleştirilebilecek denetim yapılandırmasına eklenir.

Şablonları kullan seçeneğinin altı çizili olarak Yapıtı değerlendir iletişim kutusunu gösteren ekran görüntüsü.

Eklenecek şablonların listesinin yer aldığı Yapıt ilkesini yapılandır iletişim kutusunu gösteren ekran görüntüsü.

Dağıtım işinde çıkış değişkenleri desteği

Artık bir dağıtım işinin yaşam döngüsü kancalarında çıkış değişkenleri tanımlayabilir ve bunları aynı aşamadaki diğer aşağı akış adımlarında ve işlerinde kullanabilirsiniz.

Dağıtım stratejilerini yürütürken, aşağıdaki söz dizimini kullanarak işler arasında çıkış değişkenlerine erişebilirsiniz.

  • runOnce stratejisi için:$[dependencies.<job-name>.outputs['<lifecycle-hookname>.<step-name>.<variable-name>']]
  • Kanarya stratejisi için:$[dependencies.<job-name>.outputs['<lifecycle-hookname>_<increment-value>.<step-name>.<variable-name>']]
  • Sıralı strateji için:$[dependencies.<job-name>.outputs['<lifecycle-hookname>_<resource-name>.<step-name>.<variable-name>']]
// Set an output variable in a lifecycle hook of a deployment job executing canary strategy
- deployment: A
  pool:
    vmImage: 'ubuntu-16.04'
  environment: staging
  strategy:                  
    canary:      
      increments: [10,20]  # creates multiple jobs, one for each increment. Output variable can be referenced with this.
      deploy:
        steps:
        - script: echo "##vso[task.setvariable variable=myOutputVar;isOutput=true]this is the deployment variable value"
          name: setvarStep
        - script: echo $(setvarStep.myOutputVar)
          name: echovar

 // Map the variable from the job
- job: B
  dependsOn: A
  pool:
    vmImage: 'ubuntu-16.04'
  variables:
    myVarFromDeploymentJob: $[ dependencies.A.outputs['deploy_10.setvarStep.myOutputVar'] ]
  steps:
  - script: "echo $(myVarFromDeploymentJob)"
    name: echovar

Çok işli çıkış değişkeni ayarlama hakkında daha fazla bilgi edinin

Kritik değişikliklerin geri alınmasından kaçının

Klasik yayın işlem hatlarında, düzenli güncelleştirmeler için zamanlanmış dağıtımlara güvenmek yaygın bir durumdur. Ancak, kritik bir düzeltmeniz olduğunda el ile bant dışı dağıtım başlatmayı seçebilirsiniz. Bunu yaparken eski sürümler zamanlanmış olarak kalmaya devam eder. Dağıtımlar zamanlamaya göre sürdürülürken el ile dağıtım geri alınacağı için bu bir zorluğa neden oldu. Birçoğunuz bu sorunu bildirdiniz ve şimdi düzeltildi. Düzeltme ile, bir dağıtımı el ile başlattığınızda ortama yapılan tüm eski zamanlanmış dağıtımlar iptal edilir. Bu yalnızca kuyruğa alma seçeneği "En son sürümü dağıt ve diğerlerini iptal et" olarak belirlendiğinde geçerlidir.

YAML işlem hatlarında basitleştirilmiş kaynak yetkilendirmesi

Kaynak, işlem hattının dışındaki bir işlem hattı tarafından kullanılan her şeydir. Kaynakların kullanılabilmesi için önce yetkilendirilmeleri gerekir. Daha önce, bir YAML işlem hattında yetkisiz kaynakları kullanırken kaynak yetkilendirme hatasıyla başarısız oldu. Başarısız çalıştırmanın özet sayfasından kaynakları yetkilendirmeniz gerekiyordu. Ayrıca, yetkisiz bir kaynağa başvuran bir değişken kullanıyorsa işlem hattı başarısız oldu.

Artık kaynak yetkilendirmelerini yönetmeyi kolaylaştırıyoruz. Çalıştırma başarısız olursa çalıştırma, kaynağı kullanan aşamanın başında kaynaklar üzerindeki izinleri bekler. Kaynak sahibi işlem hattını görüntüleyebilir ve Güvenlik sayfasından kaynağı yetkilendileyebilir.

Geliştirme aşamasının Bekleme durumunda olduğunu ve İzin gerektiğini belirten bir göstergenin gösterildiği ekran görüntüsü.

Yapıt denetimini değerlendirme

Artık bir ilke kümesi tanımlayabilir ve kapsayıcı görüntüsü yapıtları için bir ortamda denetim olarak ilke değerlendirmesini ekleyebilirsiniz. İşlem hattı çalıştırıldığında, ortamı kullanan bir aşamaya başlamadan önce yürütme duraklatılır. Belirtilen ilke, dağıtılmakta olan görüntünün kullanılabilir meta verilerine göre değerlendirilir. İlke başarılı olduğunda denetim geçer ve onay başarısız olursa aşamayı başarısız olarak işaretler.

Yapıt ilkelerini değerlendir iletişim kutusunun ekran görüntüsü.

ARM şablonu dağıtım görevine Güncelleştirmeler

Daha önce ARM şablonu dağıtım görevinde hizmet bağlantılarını filtrelememiştik. Daha geniş bir kapsama ARM şablonu dağıtımları gerçekleştirmek için daha düşük kapsamlı bir hizmet bağlantısı seçerseniz bu durum dağıtımın başarısız olmasına neden olabilir. Şimdi, seçtiğiniz dağıtım kapsamına göre daha düşük kapsamlı hizmet bağlantılarını filtrelemek için hizmet bağlantılarını filtreleme özelliği ekledik.

OrtamdaKi Gözden GeçirUygulama

ReviewApp, Git deponuzdaki her çekme isteğini dinamik bir ortam kaynağına dağıtır. Gözden geçirenler bu değişikliklerin nasıl göründüğünü görebilir ve ana dalda birleştirilip üretime dağıtılmadan önce diğer bağımlı hizmetlerle çalışabilir. Bu, reviewApp kaynaklarını oluşturup yönetmenizi ve ortam özelliklerinin tüm izlenebilirlik ve tanılama özelliklerinden yararlanmanızı kolaylaştırır. reviewApp anahtar sözcüğünü kullanarak bir kaynağın kopyasını oluşturabilir (ortamdaki mevcut bir kaynağı temel alarak dinamik olarak yeni bir kaynak oluşturabilir) ve yeni kaynağı ortama ekleyebilirsiniz.

Aşağıda, ortamlar altında reviewApp'i kullanmaya yönelik örnek bir YAML kod parçacığı verilmiştir.

jobs:
- deployment:
  environment: 
     name: smarthotel-dev      
     resourceName: $(System.PullRequest.PullRequestId) 
  pool:
    name: 'ubuntu-latest'
  strategy:                 
    runOnce:            
      pre-deploy: 
        steps:       
        - reviewApp: MasterNamespace

İşlem hattından otomatik ve kullanıcı tarafından belirtilen meta verileri toplama

Artık işlem hattı görevlerinden otomatik ve kullanıcı tarafından belirtilen meta veri toplamayı etkinleştirebilirsiniz. Yapıt değerlendirme denetimini kullanarak bir ortamda yapıt ilkesini zorlamak için meta verileri kullanabilirsiniz.

İşlem hatlarından meta verileri yayımla seçeneğinin açık olduğu Genel iletişim kutusunun ekran görüntüsü.

Ortamlar ile VM dağıtımları

Ortamlar'da en çok istenen özelliklerden biri VM dağıtımlarıydı. Bu güncelleştirmeyle, Ortamlar'da Sanal Makine kaynağını etkinleştiriyoruz. Artık birden çok makinede dağıtımları düzenleyebilir ve YAML işlem hatlarını kullanarak sıralı güncelleştirmeler gerçekleştirebilirsiniz. Ayrıca aracıyı hedef sunucularınızın her birine doğrudan yükleyebilir ve bu sunuculara sıralı dağıtım sağlayabilirsiniz. Ayrıca, hedef makinelerinizde tam görev kataloğunu kullanabilirsiniz.

Sanal makineler seçeneğinin seçili ve vurgulu olduğu Yeni ortam iletişim kutusunun ekran görüntüsü.

Sıralı dağıtım, bir uygulamanın önceki sürümünün örneklerini, her yinelemedeki bir dizi makinedeki (sıralı küme) uygulamanın yeni sürümünün örnekleriyle değiştirir.

Örneğin, aşağıdaki sıralı dağıtım her yinelemede en fazla beş hedefi güncelleştirir. maxParallel paralel olarak dağıtılacak hedef sayısını belirler. Seçim, dağıtılmakta olan hedefler hariç olmak üzere, herhangi bir zamanda kullanılabilir durumda kalması gereken hedef sayısını hesaplar. Ayrıca dağıtım sırasında başarı ve başarısızlık koşullarını belirlemek için de kullanılır.

jobs:
- deployment:
  displayName: web
  environment:
    name: musicCarnivalProd
    resourceType: VirtualMachine
  strategy:                 
    rolling:
      maxParallel: 5 #for percentages, mention as x%
      preDeploy:
        steps:
        - script: echo initialize, cleanup, backup, install certs...
      deploy:              
        steps:                                     
        - script: echo deploy ...      
      routeTraffic:
        steps:
        - script: echo routing traffic...   
      postRouteTaffic:
        steps:          
        - script: echo health check post routing traffic...  
      on:
        failure:
          steps:
          - script: echo restore from backup ..     
        success:
          steps:
          - script: echo notify passed...

Not

Bu güncelleştirmeyle, geçerli işlem hattından ve ilişkili işlem hattı kaynaklarından tüm kullanılabilir yapıtlar yalnızca lifecycle-hook içinde deploy indirilir. Ancak İşlem Hattı Yapıtlarını İndir görevini belirterek indirmeyi seçebilirsiniz. Bu özellikte bilinen birkaç boşluk vardır. Örneğin, bir aşamayı yeniden denediğinizde, dağıtımı yalnızca başarısız hedeflerde değil tüm VM'lerde yeniden çalıştırır. Gelecek güncelleştirmelerde bu boşlukları kapatmak için çalışıyoruz.

Dağıtımlarınız için ek denetim

Azure Pipelines, bir süredir el ile onaylarla denetlenen dağıtımları desteklemektedir. En son geliştirmelerle artık dağıtımlarınız üzerinde ek denetime sahipsiniz. Kaynak sahipleri artık onaylara ek olarak güvenlik ve kalite ilkelerini doğrulamak için otomatik checks ekleme yapabilir. Bu denetimler işlemleri tetikleyip tamamlanmasını beklemek için kullanılabilir. Ek denetimleri kullanarak artık birden çok kaynağa dayalı sistem durumu ölçütleri tanımlayabilir ve dağıtımı gerçekleştiren YAML işlem hattından bağımsız olarak kaynaklarınızı hedefleyen tüm dağıtımların güvenli olduğundan emin olabilirsiniz. Her denetimin değerlendirmesi, denetim için belirtilen Yeniden Deneme Aralığına göre düzenli aralıklarla tekrarlanabilir. Aşağıdaki ek denetimler artık kullanılabilir:

  • Herhangi bir REST API'yi çağırın ve yanıt gövdesine veya dış hizmetten bir geri çağırmaya göre doğrulama gerçekleştirin
  • Bir Azure işlevi çağırma ve yanıta veya işlevden geri çağırmaya göre doğrulama gerçekleştirme
  • Etkin uyarılar için Azure İzleyici kurallarını sorgulama
  • İşlem hattının bir veya daha fazla YAML şablonunu genişletdiğinden emin olun

Ekle onay kutusunun ekran görüntüsü.

Onay bildirimi

Bir ortama veya hizmet bağlantısına onay eklediğinizde, kaynağı kullanan tüm çok aşamalı işlem hatları aşamanın başında otomatik olarak onay bekler. Belirlenen onaylayanların işlem hattının devam etmesi için önce onayı tamamlaması gerekir.

Bu güncelleştirmeyle, onaylayanlara bekleyen onay için bir e-posta bildirimi gönderilir. Kullanıcılar ve ekip sahipleri bildirim ayarlarını kullanarak özel abonelikleri geri çevirebilir veya yapılandırabilir.

Onay bildiriminin ekran görüntüsü.

Azure portal Dağıtım Stratejilerini Yapılandırma

Bu özellik sayesinde, rolling, canary veya blue-green gibi tercih ettiğiniz dağıtım stratejisini kullanan işlem hatlarını yapılandırmanızı kolaylaştırdık. Bu hazır stratejileri kullanarak güncelleştirmeleri güvenli bir şekilde dağıtabilir ve ilişkili dağıtım risklerini azaltabilirsiniz. Buna erişmek için Azure Sanal Makinesinde 'Sürekli Teslim' ayarına tıklayın. Yapılandırma bölmesinde işlem hattının oluşturulacağı Azure DevOps projesi, dağıtım grubu, dağıtılacak paketi yayımlayan derleme işlem hattı ve seçtiğiniz dağıtım stratejisi hakkındaki ayrıntıları seçmeniz istenir. Devam etmek, seçilen paketi bu Sanal Makineye dağıtan tam işlevsel bir işlem hattı yapılandıracaktır.

Daha fazla ayrıntı için Dağıtım Stratejilerini yapılandırma belgelerimizi gözden geçirin.

Sürekli teslim iletişim kutusunu gösteren ekran görüntüsü.

Çalışma zamanı parametreleri

Çalışma zamanı parametreleri, işlem hattına geçirilebilen değerler üzerinde daha fazla denetim sahibi olmanıza olanak tanır. Değişkenlerden farklı olarak, çalışma zamanı parametreleri veri türlerine sahiptir ve otomatik olarak ortam değişkeni olmaz. Çalışma zamanı parametreleriyle:

  • Çalışma zamanında betiklere ve görevlere farklı değerler sağlama
  • Parametre türlerini, izin verilen aralıkları ve varsayılanları denetleme
  • Şablon ifadesiyle işleri ve aşamaları dinamik olarak seçme

Çalışma zamanı parametreleri hakkında daha fazla bilgi edinmek için buradaki belgelere bakın.

İşlem hatlarında extends anahtar sözcüğünü kullanma

Şu anda işlem hatları şablonlara dahil edilerek yeniden kullanımı teşvik edebilir ve ortak değeri azaltabilir. İşlem hattının genel yapısı hala kök YAML dosyası tarafından tanımlandı. Bu güncelleştirme ile işlem hattı şablonlarını kullanmanın daha yapılandırılmış bir yolunu ekledik. Kök YAML dosyası artık ana işlem hattı yapısının başka bir dosyada bulunabileceğini belirtmek için extends anahtar sözcüğünü kullanabilir. Bu, hangi segmentlerin genişletilebileceğini veya değiştirilebileceğini ve hangi segmentlerin sabitlendiğini denetlemenize neden olur. Ayrıca sağlayabileceğiniz kancaları temizlemek için veri türleriyle işlem hattı parametrelerini iyileştirdik.

Bu örnekte işlem hattı yazarının kullanması için nasıl basit kancalar sağlayabileceğiniz gösterilmektedir. Şablon her zaman bir derleme çalıştırır, isteğe bağlı olarak işlem hattı tarafından sağlanan ek adımları çalıştırır ve ardından isteğe bağlı bir test adımı çalıştırır.


# azure-pipelines.yml
extends:
  template: build-template.yml
  parameters:
    runTests: true
    postBuildSteps:
    - script: echo This step runs after the build!
    - script: echo This step does too!

# build-template.yml
parameters:
- name: runTests
  type: boolean
  default: false
- name: postBuildSteps
  type: stepList
  default: []
steps:
- task: MSBuild@1   # this task always runs
- ${{ if eq(parameters.runTests, true) }}:
  - task: VSTest@2  # this task is injected only when runTests is true
- ${{ each step in parameters.postBuildSteps }}:
  - ${{ step }}

Kuyruk zamanında geçersiz kılınabilecek değişkenleri denetleme

Daha önce, yeni bir çalıştırma başlatmadan önce herhangi bir değişkenin değerlerini güncelleştirmek için kullanıcı arabirimini veya REST API'yi kullanabilirsiniz. İşlem hattının yazarı bazı değişkenleri olarak _settable at queue time_işaretleyebilmiş olsa da sistem bunu zorlamadı veya diğer değişkenlerin ayarlanmasını engelledi. Başka bir deyişle, ayar yalnızca yeni bir çalıştırma başlatılırken ek girişler istenmek için kullanılmıştır.

parametresini zorunlu kılan yeni bir koleksiyon ayarı ekledik _settable at queue time_ . Bu, yeni bir çalıştırma başlatırken hangi değişkenlerin değiştirilebileceğini denetlemenizi sağlar. Bundan sonra, yazar tarafından olarak _settable at queue time_işaretlenmemiş bir değişkeni değiştiremezsiniz.

Not

Bu ayar mevcut koleksiyonlarda varsayılan olarak kapalıdır, ancak yeni bir Azure DevOps koleksiyonu oluşturduğunuzda varsayılan olarak açıktır.

YAML işlem hattında yeni önceden tanımlanmış değişkenler

Değişkenler, önemli veri parçalarını işlem hattınızın çeşitli bölümlerine almak için kullanışlı bir yol sağlar. Bu güncelleştirmeyle bir dağıtım işine önceden tanımlanmış birkaç değişken ekledik. Bu değişkenler sistem tarafından otomatik olarak ayarlanır, kapsamı belirli bir dağıtım işi olarak belirlenmiştir ve salt okunur durumdadır.

  • Environment.Id - Ortamın kimliği.
  • Environment.Name - Dağıtım işinin hedeflediği ortamın adı.
  • Environment.ResourceId - Dağıtım işi tarafından hedeflenen ortamdaki kaynağın kimliği.
  • Environment.ResourceName - Dağıtım işi tarafından hedeflenen ortamdaki kaynağın adı.

Birden çok depoları kullanıma alma

İşlem hatları genellikle birden çok depoya dayanır. Kodunuzu oluşturmak için ihtiyacınız olan kaynak, araçlar, betikler veya diğer öğelerle farklı depolarınız olabilir. Daha önce git kullanıma alma işlemini çalıştırmak için bu depoları alt modüller veya el ile betikler olarak eklemeniz gerekiyordu. Artık YAML işlem hattınızı depolamak için kullandığınız depoya ek olarak diğer depoları getirebilir ve kullanıma alabilirsiniz.

Örneğin, YAML işlem hattına sahip MyCode adlı bir deponuz ve Araçlar adlı ikinci bir deponuz varsa YAML işlem hattınız şöyle görünür:

resources:
  repositories:
  - repository: tools
    name: Tools
    type: git

steps:
- checkout: self
- checkout: tools
- script: dir $(Build.SourcesDirectory)

Üçüncü adımda kaynak dizininde MyCode ve Araçlar adlı iki dizin gösterilir.

Azure Repos Git depoları desteklenir. Daha fazla bilgi için bkz . Çoklu depo kullanıma alma.

Çalışma zamanında birden çok depoyla ilgili ayrıntıları alma

Bir işlem hattı çalışırken Azure Pipelines, çalıştırmayı tetikleyen depo, dal ve işleme hakkında bilgi ekler. YAML işlem hatları birden çok deponun kullanıma alınmasını desteklediğine göre, diğer depolar için kullanıma alınan depoyu, dalı ve işlemeyi de bilmek isteyebilirsiniz. Bu veriler artık bir değişkene eşleyebileceğiniz bir çalışma zamanı ifadesi aracılığıyla kullanılabilir. Örnek:

resources:
  repositories:
  - repository: other
    type: git
    name: MyProject/OtherTools

variables:
  tools.ref: $[ resources.repositories['other'].ref ]

steps:
- checkout: self
- checkout: other
- bash: echo "Tools version: $TOOLS_REF"

Diğer Azure Repos koleksiyonlarına depo başvurularına izin ver

Daha önce bir YAML işlem hattındaki depolara başvurduğunuzda, tüm Azure Repos depoların işlem hattıyla aynı koleksiyonda olması gerekiyordu. Artık hizmet bağlantısı kullanarak diğer koleksiyonlardaki depolara işaret edebilirsiniz. Örnek:

resources:
  repositories:
  - repository: otherrepo
    name: ProjectName/RepoName
    endpoint: MyServiceConnection
steps:
- checkout: self
- checkout: otherrepo

MyServiceConnection başka bir Azure DevOps koleksiyonuna işaret eder ve başka bir projedeki depoya erişebilen kimlik bilgilerine sahiptir. Hem depolar hem selfotherrepode , kullanıma alınmış olur.

Önemli

MyServiceConnectionAzure Repos / Team Foundation Server hizmet bağlantısı olmalıdır, aşağıdaki resme bakın.

Azure Repos/Team Foundation Server seçeneğinin vurgulandığı Proje Ayarları sayfasının ekran görüntüsü.

Önceden tanımlanmış değişkenler olarak işlem hattı kaynağı meta verileri

İşlem hattında YAML işlem hatları kaynakları için önceden tanımlanmış değişkenler ekledik. Kullanılabilir işlem hattı kaynak değişkenlerinin listesi aşağıdadır.

resources.pipeline.<Alias>.projectName 
resources.pipeline.<Alias>.projectID 
resources.pipeline.<Alias>.pipelineName 
resources.pipeline.<Alias>.pipelineID 
resources.pipeline.<Alias>.runName 
resources.pipeline.<Alias>.runID
resources.pipeline.<Alias>.runURI
resources.pipeline.<Alias>.sourceBranch 
resources.pipeline.<Alias>.sourceCommit
resources.pipeline.<Alias>.sourceProvider 
resources.pipeline.<Alias>.requestedFor
resources.pipeline.<Alias>.requestedForID

KubernetesManifest görevinde pişirme seçenekleri olarak kustomize ve kompose

kustomize (Kubernetes sig-cli'nin bir parçası), ham, şablon içermeyen YAML dosyalarını birden çok amaçla özelleştirmenize olanak sağlar ve özgün YAML'yi el değmemiş olarak bırakır. Kustomization.yaml dosyalarını içeren herhangi bir klasörün KubernetesManifest görevinin dağıtım eyleminde kullanılan bildirim dosyalarını oluşturmak için kullanılabilmesi için KubernetesManifest görevinin bake eylemi altına kustomize seçeneği eklenmiştir.

steps:
- task: KubernetesManifest@0
  name: bake
  displayName: Bake K8s manifests from Helm chart
  inputs:
    action: bake
    renderType: kustomize
    kustomizationPath: folderContainingKustomizationFile

- task: KubernetesManifest@0
  displayName: Deploy K8s manifests
  inputs:
    kubernetesServiceConnection: k8sSC1
    manifests: $(bake.manifestsBundle)

kompose , Docker Compose dosyalarını Kubernetes kaynağına dönüştürür.

steps:
- task: KubernetesManifest@0
  name: bake
  displayName: Bake K8s manifests from Helm chart
  inputs:
    action: bake
    renderType: kompose
    dockerComposeFile: docker-compose.yaml

- task: KubernetesManifest@0
  displayName: Deploy K8s manifests
  inputs:
    kubernetesServiceConnection: k8sSC1
    manifests: $(bake.manifestsBundle)

HelmDeploy görevinde küme yöneticisi kimlik bilgileri desteği

Daha önce HelmDeploy görevi, dağıtımlar için küme kullanıcı kimlik bilgilerini kullanıyordu. Bunun sonucunda Azure Active Directory tabanlı RBAC özellikli küme için etkileşimli oturum açma istemleri ve işlem hatları başarısız oldu. Bu sorunu gidermek için, küme kullanıcı kimlik bilgileri yerine küme yöneticisi kimlik bilgilerini kullanmanıza olanak tanıyan bir onay kutusu ekledik.

Küme yöneticisi kimlik bilgilerini kullan onay kutusunu gösteren Helm grafiklerini paketle ve dağıt onay kutusunun ekran görüntüsü.

Docker Compose görevinde bağımsız değişkenler girişi

Gibi bağımsız değişkenler --no-cacheeklemenize olanak sağlamak için Docker Compose görevine yeni bir alan eklendi. Derleme gibi komutlar çalıştırılırken bağımsız değişken görev tarafından geçirilir.

Yeni Bağımsız Değişkenler metin kutusunu gösteren Docker Compose görevinin ekran görüntüsü.

GitHub yayın görevi geliştirmeleri

GitHub Yayın görevinde çeşitli geliştirmeler yaptık. Artık bir etiket normal ifadesi belirterek etiket deseni alanını kullanarak yayın oluşturma üzerinde daha iyi denetime sahip olabilirsiniz ve yayın yalnızca tetikleyen işleme eşleşen bir dizeyle etiketlendiğinde oluşturulur.

Görev sürümü ve Etiket Düzeni bölümlerinin vurgulandığı GitHub yayın görevini gösteren ekran görüntüsü.

Ayrıca değişiklik günlüğü oluşturma ve biçimlendirme özelliklerini özelleştirme özellikleri ekledik. Değişiklik günlüğü yapılandırmasının yeni bölümünde artık geçerli sürümün karşılaştırılması gereken sürümü belirtebilirsiniz. Karşılaştır sürümü, son tam sürüm (ön sürümleri hariç tutar), taslak olmayan son sürüm veya sağlanan yayın etiketinizle eşleşen önceki sürümler olabilir. Ayrıca, görev değişiklik günlüğü biçimlendirmek için değişiklik günlüğü türü alanı sağlar. Seçime bağlı olarak, değişiklik günlüğü bir işleme listesi veya etiketlere göre kategorilere ayrılmış bir sorun/PR listesi görüntüler.

Karşılaştır ve Değişiklik günlüğü türü bölümlerinin vurgulandığı GitHub yayın görevini gösteren ekran görüntüsü.

İlke Aracısı yükleyici görevini açma

Açık İlke Aracısı, birleşik, bağlama duyarlı ilke zorlamayı etkinleştiren açık kaynak, genel amaçlı bir ilke altyapısıdır. İlke Aracısını Aç yükleyici görevini ekledik. Kod Olarak Altyapı sağlayıcıları açısından işlem hattı içi ilke zorlaması için özellikle yararlıdır.

Örneğin, Açık İlke Aracısı işlem hattındaki Rego ilke dosyalarını ve Terraform planlarını değerlendirebilir.

task: OpenPolicyAgentInstaller@0
    inputs:
          opaVersion: '0.13.5'

Azure CLI görevinde PowerShell betikleri desteği

Daha önce batch ve bash betiklerini bir Azure CLI görevinin parçası olarak yürütebiliyorsunuz. Bu güncelleştirmeyle göreve PowerShell ve PowerShell çekirdek betikleri için destek ekledik.

PowerShell ve PowerShell Core'un Betik Türü açılan listesindeki seçenekler olduğunu gösteren Azure CLI görevinin ekran görüntüsü.

KubernetesManifest görevinde Service Mesh Arabirimi tabanlı kanarya dağıtımları

Daha önce KubernetesManifest görevinde kanarya stratejisi belirtildiğinde, görev, çoğaltmaları kararlı iş yükleri için kullanılan çoğaltmaların yüzdesine eşit olan temel ve kanarya iş yükleri oluştururdu. Bu, trafiği istek düzeyinde istenen yüzdeye bölmeyle tam olarak aynı değildi. Bununla başa çıkmak için KubernetesManifest görevine Service Mesh Arabirimi tabanlı kanarya dağıtımları desteği ekledik.

Service Mesh Arabirimi soyutlaması, Linkerd ve Istio gibi hizmet ağı sağlayıcılarıyla tak çalıştır yapılandırmasına olanak tanır. Şimdi KubernetesManifest görevi, dağıtım stratejisinin yaşam döngüsü boyunca SMI'nin TrafficSplit nesnelerini kararlı, temel ve kanarya hizmetlerine eşlemenin sıkı çalışmasını ortadan kaldırır. Trafiğin kararlı, temel ve kanarya arasında istenen yüzde bölünmesi, trafik bölme yüzdesi hizmet ağı düzlemindeki istekler üzerinde denetlendiği için daha doğru olur.

Aşağıda sıralı bir şekilde SMI tabanlı kanarya dağıtımları gerçekleştirme örneği verilmiştir.

- deployment: Deployment
    displayName: Deployment
    pool:
      vmImage: $(vmImage)
    environment: ignite.smi
    strategy:
      canary:
        increments: [25, 50]
        preDeploy:
          steps:
          - task: KubernetesManifest@0
            displayName: Create/update secret
            inputs:
              action: createSecret
              namespace: smi
              secretName: $(secretName)
              dockerRegistryEndpoint: $(dockerRegistryServiceConnection)
        deploy:
          steps:
          - checkout: self
          - task: KubernetesManifest@0
            displayName: Deploy canary
            inputs:
              action: $(strategy.action)
              namespace: smi
              strategy: $(strategy.name)
              trafficSplitMethod: smi
              percentage: $(strategy.increment)
              baselineAndCanaryReplicas: 1
              manifests: |
                manifests/deployment.yml
                manifests/service.yml
              imagePullSecrets: $(secretName)
              containers: '$(containerRegistry)/$(imageRepository):$(Build.BuildId)'
        postRouteTraffic:
          pool: server
          steps:
            - task: Delay@1
              inputs:
                delayForMinutes: '2'

Azure Dosya Kopyalama Görevi artık AzCopy V10'i destekliyor

Azure dosya kopyalama görevi, dosyaları Microsoft depolama bloblarına veya sanal makinelere (VM) kopyalamak için derleme veya yayın işlem hattında kullanılabilir. Görev, Azure depolama hesaplarından ve azure depolama hesaplarına hızlı veri kopyalamaya yönelik komut satırı yardımcı programı olan AzCopy'yi kullanır. Bu güncelleştirmeyle, AzCopy'nin en son sürümü olan AzCopy V10 için destek ekledik.

azcopy copy komutu yalnızca onunla ilişkili bağımsız değişkenleri destekler. AzCopy'nin söz dizimindeki değişiklik nedeniyle, mevcut özelliklerden bazıları AzCopy V10'da kullanılamaz. Bu modüller şunlardır:

  • Günlük konumunu belirtme
  • Kopyalamadan sonra günlük ve plan dosyalarını temizleme
  • İş başarısız olursa kopyalamayı sürdür

Görevin bu sürümünde desteklenen ek özellikler şunlardır:

  • Kaynağın dosya adında/yolunda joker karakter simgeleri
  • Bağımsız değişken sağlanmayan dosya uzantısına göre içerik türünü çıkarsama
  • Bir bağımsız değişken geçirerek günlük dosyası için günlük ayrıntı düzeyini tanımlama

Erişim belirteçlerinin kapsamını kısıtlayarak işlem hattı güvenliğini geliştirme

Azure Pipelines'da çalışan her iş bir erişim belirteci alır. Erişim belirteci görevler ve betikleriniz tarafından Azure DevOps'a geri çağrı yapmak için kullanılır. Örneğin, erişim belirtecini kaynak kodu almak, günlükleri karşıya yüklemek, test sonuçları, yapıtlar veya Azure DevOps'a REST çağrıları yapmak için kullanırız. Her iş için yeni bir erişim belirteci oluşturulur ve iş tamamlandıktan sonra süresi dolar. Bu güncelleştirmeyle birlikte aşağıdaki iyileştirmeleri ekledik.

  • Belirtecin takım projesi dışındaki kaynaklara erişmesini engelleme

    Şimdiye kadar tüm işlem hatlarının varsayılan kapsamı takım projesi koleksiyonuydu. Kapsamı klasik derleme işlem hatlarında takım projesi olarak değiştirebilirsiniz. Ancak klasik sürüm veya YAML işlem hatları için bu denetime sahip değildiniz. Bu güncelleştirmeyle, işlem hattında ne yapılandırılırsa yapılandırıldığından bağımsız olarak her işi proje kapsamlı bir belirteç almaya zorlamak için bir koleksiyon ayarı sunuyoruz. Ayrıca bu ayarı proje düzeyinde de ekledik. Artık, oluşturduğunuz her yeni proje ve koleksiyonda bu ayar otomatik olarak açılır.

    Not

    Koleksiyon ayarı proje ayarını geçersiz kılar.

    Mevcut projelerde ve koleksiyonlarda bu ayarın etkinleştirilmesi, işlem hatlarınızın erişim belirteçlerini kullanarak takım projesi dışındaki kaynaklara erişmesi durumunda bazı işlem hatlarının başarısız olmasına neden olabilir. İşlem hattı hatalarını azaltmak için, istenen kaynağa Project Derleme Hizmeti Hesabı erişimini açıkça vekleyebilirsiniz. Bu güvenlik ayarlarını açmanızı kesinlikle öneririz.

  • Derleme hizmeti depoları kapsam erişimini sınırlama

    Erişim belirtecinin kapsamını kısıtlayarak işlem hattı güvenliğini geliştiren Azure Pipelines artık depo erişiminin kapsamını yaML tabanlı bir işlem hattı için gereken depolarla sınırlandırabilir. Bu, işlem hatlarının erişim belirtecinin sızması durumunda yalnızca işlem hattında kullanılan depoları görebileceği anlamına gelir. Daha önce, erişim belirteci projedeki herhangi bir Azure Repos deposu veya potansiyel olarak koleksiyonun tamamı için iyiydi.

    Bu özellik yeni projeler ve koleksiyonlar için varsayılan olarak açıktır. Mevcut koleksiyonlar için, Koleksiyon Ayarlarıİşlem Hatları>Ayarları'nda> etkinleştirmeniz gerekir. Bu özelliği kullanırken, derlemenin ihtiyaç duyduğu tüm depoların (betik kullanarak klonladığınız depolar bile) işlem hattının depo kaynaklarına eklenmesi gerekir.

  • Erişim belirteci için belirli izinleri kaldırma

    Varsayılan olarak, erişim belirteci için bir dizi izin veririz; bu izinlerden biri Kuyruk derlemeleridir. Bu güncelleştirme ile erişim belirtecine ilişkin bu izni kaldırdık. İşlem hatlarınızın bu izne ihtiyacı varsa, kullandığınız belirtece bağlı olarak bunu Project Derleme Hizmeti Hesabına veya Proje Koleksiyonu Derleme Hizmeti Hesabına açıkça vekleyebilirsiniz.

Hizmet bağlantıları için proje düzeyi güvenlik

Hizmet bağlantıları için hub düzeyinde güvenlik ekledik. Artık tüm hizmet bağlantıları için merkezi bir yerde kullanıcı ekleyebilir/kaldırabilir, roller atayabilir ve erişimi yönetebilirsiniz.

Güvenlik seçeneğinin vurgulu olduğu Hizmet bağlantıları sayfasının ekran görüntüsü.

Adım hedefleme ve komut yalıtımı

Azure Pipelines, işleri kapsayıcılarda veya aracı ana bilgisayarında çalıştırmayı destekler. Daha önce, işin tamamı bu iki hedef arasında ayarlanmıştı. Artık tek tek adımlar (görevler veya betikler) seçtiğiniz hedefte çalıştırılabilir. Adımlar diğer kapsayıcıları da hedefleyebileceğinden, işlem hattı her adımı özelleştirilmiş, amaca yönelik bir kapsayıcıda çalıştırabilir.

Kapsayıcılar yalıtım sınırları gibi davranarak kodun konak makinede beklenmeyen değişiklikler yapmasını önleyebilir. Adımların aracıyla iletişim kurma ve hizmetlere aracıdan erişme şekli, kapsayıcıdaki adımların yalıtılmasından etkilenmez. Bu nedenle, adım hedefleriyle kullanabileceğiniz bir komut kısıtlama modu da sunuyoruz. Bunu açmak, bir adımın aracıdan isteyebileceği hizmetleri kısıtlar. Artık günlükleri ekleyemez, yapıtları karşıya yükleyemez ve diğer bazı işlemleri gerçekleştiremez.

Aşağıda, bir iş kapsayıcısında ve başka bir kapsayıcıda konakta çalışan adımları gösteren kapsamlı bir örnek verilmiştır:

resources:
  containers:
  - container: python
    image: python:3.8
  - container: node
    image: node:13.2

jobs:
- job: example
  container: python

  steps:
  - script: echo Running in the job container

  - script: echo Running on the host
    target: host

  - script: echo Running in another container, in restricted commands mode
    target:
      container: node
      commands: restricted

Salt okunur değişkenler

Sistem değişkenleri sabit olarak belgelenmiştir, ancak pratikte bir görev tarafından üzerine yazılabilir ve aşağı akış görevleri yeni değeri alır. Bu güncelleştirmeyle, sistem ve kuyruk zamanı değişkenlerini salt okunur hale getirmek için işlem hattı değişkenlerinin güvenliğini artıracağız. Buna ek olarak, yaml değişkenlerini aşağıdaki gibi işaretleyerek salt okunur yapabilirsiniz.

variables:
- name: myVar
  value: myValue
  readonly: true

Hizmet bağlantıları için rol tabanlı erişim

Hizmet bağlantıları için rol tabanlı erişim ekledik. Daha önce hizmet bağlantısı güvenliği yalnızca Uç Nokta yöneticileri ve Endpoint Creators gibi önceden tanımlanmış Azure DevOps grupları aracılığıyla yönetilebiliyor.

Bu çalışmanın bir parçası olarak Okuyucu, Kullanıcı, Oluşturucu ve Yönetici rollerini tanıttık. Bu rolleri projenizdeki hizmet bağlantıları sayfasından ayarlayabilirsiniz ve bunlar tek tek bağlantılar tarafından devralınır. Her hizmet bağlantısında devralmayı açma veya kapatma ve hizmet bağlantısı kapsamındaki rolleri geçersiz kılma seçeneğiniz vardır.

Hizmet bağlantıları için rol tabanlı erişimi gösteren ekran görüntüsü.

Hizmet bağlantıları güvenliği hakkında daha fazla bilgiyi burada bulabilirsiniz.

Hizmet bağlantılarının projeler arası paylaşımı

Projeler arasında hizmet bağlantısı paylaşımı desteğini etkinleştirdik. Artık hizmet bağlantılarınızı projelerinizle güvenli ve güvenli bir şekilde paylaşabilirsiniz.

Hizmet bağlantılarının çapraz proje paylaşımını gösteren ekran görüntüsü.

Hizmet bağlantıları paylaşımı hakkında daha fazla bilgiyi burada bulabilirsiniz.

İşlem hatları ve ACR kaynakları için izlenebilirlik

İşlem hattında işlem hatları ve ACR kapsayıcı kaynakları kullanıldığında tam E2E izlenebilirliği sağlıyoruz. YAML işlem hattınız tarafından tüketilen her kaynak için işlemeleri, iş öğelerini ve yapıtları izleyebilirsiniz.

İşlem hattı çalıştırma özeti görünümünde şunları görebilirsiniz:

  • Çalıştırmayı tetikleyen kaynak sürümü. Artık işlem hattınız başka bir Azure işlem hattı çalıştırması tamamlandığında veya bir kapsayıcı görüntüsü ACR'ye gönderildiğinde tetiklenebilir.

    İşlem hattının otomatik olarak tetiklendiğini gösteren ekran görüntüsü.

  • İşlem hattı tarafından kullanılan işlemeler . İşlem hattı tarafından kullanılan her kaynağa göre işlemelerin dökümünü de bulabilirsiniz.

    Geçerli işlem hattı bölümündeki işlemeleri gösteren ekran görüntüsü.

  • İşlem hattı tarafından kullanılan her kaynakla ilişkili iş öğeleri .

  • Çalıştırma tarafından kullanılabilecek yapıtlar .

    İşlem hattının Yapıtlar sayfasını gösteren ekran görüntüsü.

Ortamın dağıtımlar görünümünde, ortama dağıtılan her kaynağın işlemelerini ve iş öğelerini görebilirsiniz.

Workitems sekmesini gösteren Dağıtım ölçütü bölümünün ekran görüntüsü.

Büyük test ekleri desteği

Azure Pipelines'daki test sonuçlarını yayımlama görevi, kapsamlı bir test raporlama ve analiz deneyimi sağlamak için testler yürütülürken test sonuçlarını yayımlamanıza olanak tanır. Şimdiye kadar hem test çalıştırması hem de test sonuçları için test ekleri için 100 MB sınırı vardı. Bu, kilitlenme bilgi dökümleri veya videolar gibi büyük dosyaların karşıya yüklenmesini sınırlandırır. Bu güncelleştirmeyle, başarısız testlerinizin sorunlarını gidermek için tüm kullanılabilir verilere sahip olmanıza olanak sağlayan büyük test ekleri desteği ekledik.

VSTest görevi veya Test sonuçlarını yayımla görevinin günlüklerde 403 veya 407 hatası döndürdiğini görebilirsiniz. Giden istekleri filtreleyen bir güvenlik duvarının arkasında şirket içinde barındırılan derlemeler veya yayın aracıları kullanıyorsanız, bu işlevi kullanabilmek için bazı yapılandırma değişiklikleri yapmanız gerekir. ​

Günlüklerde döndürülen 403 hatasını gösteren ekran görüntüsü.

Bu sorunu çözmek için güvenlik duvarını adresine giden isteklerhttps://*.vstmrblob.vsassets.ioiçin güncelleştirmenizi öneririz. Sorun giderme bilgilerini buradaki belgelerde bulabilirsiniz. ​

Not

Bu yalnızca şirket içinde barındırılan Azure Pipelines aracılarını kullanıyorsanız ve giden trafiği filtreleyen bir güvenlik duvarının arkasındaysanız gereklidir. Bulutta Microsoft tarafından barındırılan aracılar kullanıyorsanız veya giden ağ trafiğini filtrelemeyen aracılar kullanıyorsanız herhangi bir işlem yapmanız gerekmez.

Her işte doğru havuz bilgilerini göster

Daha önce işleri genişletmek için bir matris veya havuzu tanımlamak için bir değişken kullandığınızda bazen günlük sayfalarındaki yanlış havuz bilgilerini çözümledik. Bu sorunlar çözüldü.

Yeni dallar için CI tetikleyicileri

Yeni bir dal oluşturulduğunda ve bu dalda değişiklik olmadığında CI derlemelerini tetiklememek uzun süredir beklemede olan bir istekti. Aşağıdaki örnekleri inceleyin:

  • Web arabirimini, var olan bir dalı temel alan yeni bir dal oluşturmak için kullanırsınız. Bu, dal filtreniz yeni dalın adıyla eşleşirse yeni bir CI derlemesini hemen tetikler. Yeni dalın içeriği mevcut dalla karşılaştırıldığında aynı olduğundan bu istenmeyen bir durumdur.
  • İki klasöre sahip bir deponuz var: uygulama ve belgeler. CI için "uygulama" ile eşleşecek bir yol filtresi ayarlarsınız. Başka bir deyişle, belgelere bir değişiklik gönderildiyse yeni bir derleme oluşturmak istemezsiniz. Yerel olarak yeni bir dal oluşturacak, belgelerde bazı değişiklikler yapacak ve ardından bu dalı sunucuya gönderebilirsiniz. Yeni bir CI derlemesi tetiklerdik. Docs klasöründeki değişiklikleri aramamanızı açıkça istediğiniz için bu istenmeyen bir durumdur. Ancak, yeni bir dal olayını işleme şeklimiz nedeniyle, uygulama klasöründe de bir değişiklik yapılmış gibi görünebilir.

Şimdi bu sorunları çözmek için yeni dallar için CI'yi işlemenin daha iyi bir yolu var. Yeni bir dal yayımladığınızda, bu dalda yeni işlemeleri açıkça arar ve bunların yol filtreleri ile eşleşip eşleşmediğini denetleriz.

İşler önceki aşamalardan çıkış değişkenlerine erişebilir

Çıkış değişkenleri artık YAML tabanlı işlem hattındaki aşamalar arasında kullanılabilir. Bu, go/no-go kararı veya oluşturulan çıkışın kimliği gibi yararlı bilgileri bir aşamadan diğerine geçirmenize yardımcı olur. Önceki aşamanın ve işlerinin sonucu (durumu) da kullanılabilir.

Çıkış değişkenleri, işlerin içindeki adımlarla yine de oluşturulur. aşamalarına başvurmak dependencies.jobName.outputs['stepName.variableName']yerine konusuna stageDependencies.stageName.jobName.outputs['stepName.variableName']bakın.

Not

Varsayılan olarak, bir işlem hattındaki her aşama YAML dosyasından hemen önceki aşamaya bağlıdır. Bu nedenle, her aşama önceki aşamadan çıkış değişkenlerini kullanabilir. Bağımlılık grafiğini değiştirebilirsiniz ve bu da kullanılabilir çıkış değişkenlerini de değiştirir. Örneğin, 3. aşamanın 1. aşamadan bir değişkene ihtiyacı varsa, 1. aşamada açık bir bağımlılık bildirmesi gerekir.

Otomatik aracı yükseltmelerini havuz düzeyinde devre dışı bırakma

Şu anda işlem hatları aracıları gerektiğinde otomatik olarak en son sürüme güncelleştirilir. Bu durum genellikle daha yeni bir aracı sürümünün düzgün çalışmasını gerektiren yeni bir özellik veya görev olduğunda oluşur. Bu güncelleştirmeyle, otomatik yükseltmeleri havuz düzeyinde devre dışı bırakma özelliğini ekliyoruz. Bu modda, havuza doğru sürümün hiçbir aracısı bağlı değilse, işlem hatları aracıların güncelleştirilmesi için istekte bulunmak yerine net bir hata iletisiyle başarısız olur. Bu özellik çoğunlukla şirket içinde barındırılan havuzları ve çok katı değişiklik denetimi gereksinimleri olan müşteriler için ilgi çekicidir. Otomatik güncelleştirmeler varsayılan olarak etkindir ve çoğu müşterinin bunları devre dışı bırakmasını önermeyiz.

Aracı güncelleştirme ayarları seçeneğinin açık ve vurgulanmış olduğu Varsayılan Ayarlar sayfasının ekran alıntısı.

Aracı tanılaması

Birçok ağ sorunu ve yükseltme hatalarının yaygın nedenleri gibi aracıyla ilgili birçok yaygın sorun için tanılama ekledik. Tanılamayı kullanmaya başlamak için Windows'da run.sh --diagnostics veya run.cmd --diagnostics kullanın.

YAML işlem hatları için hizmet kancaları

Hizmetleri YAML işlem hatları ile tümleştirmek artık daha kolay hale geldi. YAML işlem hatları için hizmet kancası olaylarını kullanarak artık işlem hattı çalıştırmalarının ilerlemesine bağlı olarak özel uygulamalarda veya hizmetlerde etkinlikleri yönlendirebilirsiniz. Örneğin, onay gerektiğinde bir yardım masası bileti oluşturabilir, aşama tamamlandıktan sonra bir izleme iş akışı başlatabilir veya aşama başarısız olduğunda ekibinizin mobil cihazlarına anında iletme bildirimi gönderebilirsiniz.

İşlem hattı adına ve aşama adına göre filtreleme tüm olaylar için desteklenir. Onay olayları belirli ortamlar için de filtrelenebilir. Benzer şekilde, durum değişikliği olayları işlem hattı çalıştırmasının veya aşamasının yeni durumuna göre filtrelenebilir.

Bu tür olaylarda Tetikleyici açılan listesini ve Çalıştırma aşaması seçeneklerinin vurgulu olduğunu gösteren YENİ HİzMET KANCASI ABONELİĞİ sihirbazının ekran görüntüsü.

İyileştirici tümleştirme

İyileştirme, ürün ekipleri için güçlü bir A/B testi ve özellik etiketleme platformudur. Azure Pipelines'ın İyileştirilmiş deneme platformuyla tümleştirilmesi, ürün ekiplerine hızlandırılmış bir hızda test etme, öğrenme ve dağıtma gücü sağlarken Azure Pipelines'dan tüm DevOps avantajlarını da elde eder.

Azure DevOps için İyileştirme uzantısı, derleme ve yayın işlem hatlarına deneme ve özellik bayrağı dağıtım adımları ekler; böylece Azure Pipelines'ı kullanarak özellikleri sürekli yineleyebilir, dağıtabilir ve geri alabilirsiniz.

Azure DevOps İyileştirme uzantısı hakkında daha fazla bilgiyi burada bulabilirsiniz.

Özellikleri en iyi şekilde

GitHub yayınını yapıt kaynağı olarak ekleme

Artık GitHub yayınlarınızı Azure DevOps yayın işlem hatlarında yapıt kaynağı olarak bağlayabilirsiniz. Bu, dağıtımlarınızın bir parçası olarak GitHub sürümünü kullanmanıza olanak sağlar.

Yayın işlem hattı tanımında Yapıt ekle'ye tıkladığınızda yeni GitHub Yayın kaynak türünü bulursunuz. GitHub sürümünü kullanmak için hizmet bağlantısını ve GitHub deposunu sağlayabilirsiniz. Ayrıca GitHub sürümünün en son, belirli bir etiket sürümü olarak tüketmesi için varsayılan bir sürüm seçebilir veya yayın oluşturma zamanında bunu seçebilirsiniz. Bir GitHub sürümü bağlandıktan sonra otomatik olarak indirilir ve yayın işlerinizde kullanılabilir hale getirilir.

GitHub Sürümü seçeneğinin seçili ve vurgulandığı Yapıt ekle iletişim kutusunun ekran görüntüsü.

Azure Pipelines ile Terraform tümleştirmesi

Terraform, altyapıyı güvenli ve verimli bir şekilde geliştirmeye, değiştirmeye ve sürüm oluşturmaya yönelik açık kaynak bir araçtır. Terraform, API'leri bildirim temelli yapılandırma dosyalarına dönüştürerek üst düzey yapılandırma dili kullanarak altyapı tanımlamanıza ve sağlamanıza olanak tanır. Terraform uzantısını kullanarak tüm önemli altyapı sağlayıcıları arasında kaynak oluşturabilirsiniz: Azure, Amazon Web Services (AWS) ve Google Cloud Platform (GCP).

Terraform uzantısı hakkında daha fazla bilgi edinmek için buradaki belgelere bakın.

Azure Pipelines ile Terraform tümleştirmesinin ekran görüntüsü.

Google Analytics ile tümleştirme

Google Analytics denemeleri çerçevesi, belirli bir hedef üzerindeki etkisini ölçmek için bir web sitesinde veya uygulamada yapılan neredeyse tüm değişiklikleri veya varyasyonları test etmenizi sağlar. Örneğin, kullanıcılarınızın tamamlamasını istediğiniz etkinlikleriniz (örneğin, satın alma, bültene kaydolma) ve/veya geliştirmek istediğiniz ölçümler (ör. gelir, oturum süresi, geri dönüş oranı) olabilir. Bu etkinlikler, özelliğinizin performansı üzerindeki doğrudan etkisine bağlı olarak uygulamaya değer değişiklikleri belirlemenize olanak tanır.

Azure DevOps için Google Analytics denemeleri uzantısı derleme ve yayın işlem hatlarına deneme adımları ekler; böylece denemeleri sürekli olarak yönetirken Azure Pipelines'dan tüm DevOps avantajlarını elde ederek sürekli yineleyebilir, daha hızlı bir şekilde öğrenebilir ve dağıtabilirsiniz.

Google Analytics denemeleri uzantısını Market'ten indirebilirsiniz.

Google Analytics Denemeleri görevini gösteren ekran görüntüsü.

Azure Pipelines ile ServiceNow tümleştirmesi güncelleştirildi

ServiceNow için Azure Pipelines uygulaması, Azure Pipelines ile ServiceNow Değişiklik Yönetimi'nin tümleştirilmesine yardımcı olur. Bu güncelleştirme ile ServiceNow'un New York sürümüyle tümleştirebilirsiniz. İki hizmet arasındaki kimlik doğrulaması artık OAuth ve temel kimlik doğrulaması kullanılarak yapılabilir. Buna ek olarak, artık geçit sonucuna karar vermek için herhangi bir değişiklik özelliğini kullanabilmek için gelişmiş başarı ölçütlerini yapılandırabilirsiniz.

VSCode'dan Azure Pipelines'İçerik Oluşturucu

VSCode için Azure Pipelines uzantısına yeni bir işlevsellik ekledik. Artık IDE'den çıkmadan doğrudan VSCode'dan Azure Pipelines oluşturabileceksiniz.

Sağ alt köşede şu uyarının bulunduğu VS Code'un ekran görüntüsü: İşlem hattınız başarıyla ayarlandı.

Flaky hata yönetimi ve çözümü

Algılama, raporlama ve çözüm ile uçtan uca yaşam döngüsünü desteklemek için flaky test yönetimini kullanıma aldık. Bunu daha da geliştirmek için yanıcı test hata yönetimi ve çözümü ekliyoruz.

Flaky testini araştırırken Hata eylemini kullanarak bir hata oluşturabilirsiniz. Bu eylem, daha sonra flaky testinin kök nedenini daha fazla araştırmak için bir geliştiriciye atanabilir. Hata raporu işlem hattı hakkında hata iletisi, yığın izleme ve testle ilişkili diğer bilgiler gibi bilgiler içerir.

Bir hata raporu çözümlendiğinde veya kapatıldığında testin işaretini otomatik olarak şişmemiş olarak kaldıracağız.

En az sayıda test çalıştırılmazsa VSTest görevlerini başarısız olacak şekilde ayarlayın

VSTest görevi, kullanıcı girişlerini (test dosyaları, filtre ölçütleri vb.) ve kullanılan test çerçevesine özgü bir test bağdaştırıcısını kullanarak testleri bulur ve çalıştırır. Kullanıcı girişlerinde veya test bağdaştırıcısında yapılan değişiklikler, testlerin keşfedilmediği ve beklenen testlerin yalnızca bir alt kümesinin çalıştırıldığı durumlara yol açabilir. Bu durum, kodun yeterince yüksek kalitede olması yerine testler atlandığından işlem hatlarının başarılı olduğu durumlara yol açabilir. Bu durumu önlemeye yardımcı olmak için VSTest görevine, görevin geçmesi için çalıştırılması gereken en az test sayısını belirtmenize olanak tanıyan yeni bir seçenek ekledik.

En az sayıda test çalıştırılmıyorsa görevi başarısız yap seçeneğini gösteren ekran görüntüsü.

VSTest TestResultsDirectory seçeneği görev kullanıcı arabiriminde kullanılabilir

VSTest görevi, test sonuçlarını ve ilişkili dosyaları klasöründe $(Agent.TempDirectory)\TestResults depolar. Test sonuçlarını depolamak için farklı bir klasör yapılandırmanıza olanak sağlamak için görev kullanıcı arabirimine bir seçenek ekledik. Artık belirli bir konumdaki dosyalara ihtiyaç duyan sonraki görevler bunları kullanabilir.

Test sonuçları klasörü metin kutusunu gösteren ekran görüntüsü.

Otomatik test hata iletilerinde Markdown desteği

Otomatikleştirilmiş testler için hata iletilerine markdown desteği ekledik. Artık azure pipelines'da okunabilirliği geliştirmek ve test hatası sorunlarını giderme deneyimini kolaylaştırmak için hata iletilerini hem test çalıştırması hem de test sonucu için kolayca biçimlendirebilirsiniz. Desteklenen markdown söz dizimi burada bulunabilir.

Otomatik test hata iletilerinde markdown desteğini gösteren ekran görüntüsü.

Dağıtım işine adımları otomatik olarak eklemek için işlem hattı dekoratörlerini kullanma

Artık dağıtım işlerine işlem hattı dekoratörleri ekleyebilirsiniz. Her dağıtım işinin her yaşam döngüsü kancası yürütmesine otomatik olarak eklenen herhangi bir özel adımınız (örneğin güvenlik açığı tarayıcısı) olabilir. İşlem hattı dekoratörleri bir koleksiyondaki tüm işlem hatlarına uygulanabildiğinden, güvenli dağıtım uygulamalarını zorunlu tutmanın bir parçası olarak bu özellik kullanılabilir.

Buna ek olarak, dağıtım işleri tanımlanırsa hizmetlerin yan aracıyla birlikte bir kapsayıcı işi olarak çalıştırılabilir.

Test Plans

Yeni Test Planı sayfası

Tüm Azure DevOps koleksiyonları için yeni bir Test Plans Sayfası (Test Plans *) kullanılabilir. Yeni sayfa, test planlaması, yazma veya yürütme gibi elinizdeki göreve odaklanmanıza yardımcı olacak kolaylaştırılmış görünümler sağlar. Ayrıca dağınıklık içermez ve Azure DevOps teklifinin geri kalanıyla tutarlıdır.

Arka uç depolarını paylaşan, kimlikli olarak adlandırılmış iki test planını gösteren ekran görüntüsü.

Yeni sayfayı anlamama yardımcı olun

test planına genel bakış sayfası

Yeni Test Plans sayfasında ilk 4 bölümün yeni olduğu toplam 6 bölüm bulunurken, Grafikler & Genişletilebilirlik bölümleri mevcut işlevlerdir.

  1. Test planı üst bilgisi: Test planını bulmak, sık kullanılanlara eklemek, düzenlemek, kopyalamak veya kopyalamak için bunu kullanın.
  2. Test paketleri ağacı: Test paketleri eklemek, yönetmek, dışarı aktarmak veya sipariş etmek için bunu kullanın. Yapılandırmaları atamak ve kullanıcı kabul testi gerçekleştirmek için de bundan yararlanın.
  3. Tanımla sekmesi: Bu sekme aracılığıyla seçtiğiniz bir test paketinde test çalışmalarını harmanlama, ekleme ve yönetme.
  4. Yürütme sekmesi: Bu sekme aracılığıyla testleri atayın ve yürütür veya detaya gitmek için bir test sonucu bulun.
  5. Grafik sekmesi: Panolara da sabitlenebilen grafikler aracılığıyla test yürütmesini ve durumunu izleyin.
  6. Genişletilebilirlik: Ürün içindeki geçerli genişletilebilirlik noktalarını destekler.

Şimdi aşağıdaki yeni bölümlerin genel bir görünümünü alalım.

1. Test planı üst bilgisi

test planı üst bilgi sayfası

Görevler

Test Planı üst bilgisi aşağıdaki görevleri gerçekleştirmenizi sağlar:

  • Test planını sık kullanılan olarak işaretleme
  • Sık kullanılan test planının işaretini kaldırma
  • Sık kullandığınız test planları arasında kolayca gezinme
  • Test planının geçerli mi yoksa geçmiş mi olduğunu açıkça gösteren test planının yineleme yolunu görüntüleyin
  • Rapora gitmek için bir bağlantıyla Test İlerlemesi raporunun hızlı özetini görüntüleyin
  • Tümü/Benimki Test Plans sayfasına geri gidin

Bağlam menüsü seçenekleri

Test Planı üst bilgisindeki bağlam menüsü aşağıdaki seçenekleri sağlar:

  • Test planını kopyalama: Bu, geçerli test planını hızla kopyalamanıza olanak tanıyan yeni bir seçenektir. Aşağıda daha fazla ayrıntı bulabilirsiniz.
  • Test planını düzenle: Bu seçenek, iş öğesi alanlarını yönetmek için Test Planı iş öğesi formunu düzenlemenizi sağlar.
  • Test planı ayarları: Bu seçenek Test Çalıştırması ayarlarını (derleme veya yayın işlem hatlarını ilişkilendirmek için) ve Test Sonucu ayarlarını yapılandırmanıza olanak tanır

Test planını kopyalama (yeni özellik)

test planı sayfasını kopyalama

Sprint/yayın başına yeni bir Test Planı oluşturmanızı öneririz. Bunu yaparken genellikle önceki döngü için Test Planı kopyalanabilir ve birkaç değişiklikle kopyalanan test planı yeni döngü için hazır olur. Bu işlemi kolaylaştırmak için yeni sayfada 'Test planını kopyala' özelliğini etkinleştirdik. Bundan yararlanarak test planlarını kopyalayabilir veya kopyalayabilirsiniz. Yedekleme REST API'si burada ele alınmıştır ve API bir test planını projeler arasında kopyalamanıza/kopyalamanıza da olanak tanır.
Test Plans kullanımı hakkında daha fazla yönerge için buraya bakın.

2. Test paketleri ağacı

test paketleri ağaç sayfası

Görevler

Test paketi üst bilgisi aşağıdaki görevleri gerçekleştirmenizi sağlar:

  • Genişlet/daralt: Bu araç çubuğu seçenekleri, paket hiyerarşi ağacını genişletmenize veya daraltmanıza olanak tanır.
  • Alt paketlerden test noktalarını göster: Bu araç çubuğu seçeneği yalnızca "Yürüt" sekmesindeyken görünür. Bu, tek tek paketlere tek tek gitmek zorunda kalmadan test noktalarının daha kolay yönetilmesi için verilen paketin ve alt öğelerinin tüm test noktalarını tek bir görünümde görüntülemenizi sağlar.
  • Paket sipariş etme: Paketlerin hiyerarşisini yeniden sıralamak veya test planı içinde bir paket hiyerarşisinden diğerine taşımak için paketleri sürükleyebilir/bırakabilirsiniz.

Bağlam menüsü seçenekleri

Test paketleri ağacındaki bağlam menüsü aşağıdaki seçenekleri sağlar:

  • Yeni paketleri İçerik Oluşturucu: Aşağıdaki gibi 3 farklı türde paket oluşturabilirsiniz:
    • Testlerinizi düzenlemek için statik paketi veya klasör paketini kullanın.
    • Sorunsuz izlenebilirlik için gereksinimlere/kullanıcı hikayelerine doğrudan bağlanmak için gereksinim tabanlı paketi kullanın.
    • Sorgu ölçütlerine uyan test çalışmalarını dinamik olarak düzenlemek için sorgu tabanlı kullanın.
  • Yapılandırmaları atama: Paketin yapılandırmalarını atayabilirsiniz (örneğin: Chrome, Firefox, EdgeChromium) ve bunlar daha sonra bu pakete eklediğiniz tüm mevcut test çalışmaları veya yeni test çalışmaları için geçerli olacaktır.
  • Pdf/e-posta olarak dışarı aktarma: Test planı özelliklerini, test paketi özelliklerini ve test çalışmalarının ayrıntılarını ve test noktalarını "e-posta" veya "pdf'ye yazdır" olarak dışarı aktarın.
  • Test paketi iş öğesini açma: Bu seçenek, iş öğesi alanlarını yönetmek için Test paketi iş öğesi formunu düzenlemenizi sağlar.
  • Tüm testleri çalıştırmak için test edicileri atayın: Bu seçenek, genellikle farklı departmanlara ait olan birden çok test edici tarafından aynı testin çalıştırılması/yürütülmesi gereken Kullanıcı Kabul testi (UAT) senaryoları için çok kullanışlıdır.
  • Yeniden Adlandır/Sil: Bu seçenekler paketin adını yönetmenize veya paketi ve içeriğini test planından kaldırmanıza olanak sağlar.

3. Tanımla sekmesi

sekme sayfasını tanımlama

Tanımla sekmesi, bir test paketi için test çalışmalarını harmanlamanıza, eklemenize ve yönetmenize olanak tanır. Yürütme sekmesi test noktaları atamak ve bunları yürütmek içindir.

Tanımla sekmesi ve belirli işlemler yalnızca Temel + Test Plans erişim düzeyine veya eşdeğerine sahip kullanıcılar tarafından kullanılabilir. Diğer her şey 'Temel' erişim düzeyine sahip bir kullanıcı tarafından genişletilebilir olmalıdır.

Görevler

Tanımla sekmesi aşağıdaki görevleri gerçekleştirmenizi sağlar:

  • İş öğesi formunu kullanarak Yeni test çalışması ekle: Bu seçenek, iş öğesi formunu kullanarak yeni bir test çalışması oluşturmanıza olanak tanır. Oluşturulan test çalışması otomatik olarak pakete eklenir.
  • Kılavuz kullanarak Yeni test çalışması ekle: Bu seçenek, test çalışmaları kılavuz görünümünü kullanarak bir veya daha fazla test çalışması oluşturmanıza olanak tanır. Oluşturulan test çalışmaları otomatik olarak pakete eklenir.
  • Sorgu kullanarak Mevcut test çalışmalarını ekleme: Bu seçenek, bir sorgu belirterek pakete mevcut test çalışmalarını eklemenize olanak tanır.
  • Sürükle/bırak ile test çalışmalarını sıralama: Belirli bir paket içindeki bir veya daha fazla test çalışmasını sürükleyerek/bırakarak test çalışmalarını yeniden sıralayabilirsiniz. Test çalışmalarının sırası yalnızca el ile test çalışmaları için geçerlidir, otomatikleştirilmiş testler için geçerli değildir.
  • Test çalışmalarını bir paketten diğerine taşıma: Sürükle/bırak seçeneğini kullanarak test çalışmalarını bir test paketinden diğerine taşıyabilirsiniz.
  • Kılavuzu göster: Test adımlarının yanı sıra test çalışmalarını görüntülemek/düzenlemek için kılavuz modunu kullanabilirsiniz.
  • Tam ekran görünümü: Bu seçeneği kullanarak Tanımla sekmesinin tamamının içeriğini tam ekran modunda görüntüleyebilirsiniz.
  • Filtreleme: Filtre çubuğunu kullanarak, "test çalışması başlığı", "atanan" ve "durum" alanlarını kullanarak test çalışmaları listesini filtreleyebilirsiniz. Sütun üst bilgilerine tıklayarak da listeyi sıralayabilirsiniz.
  • Sütun seçenekleri: Tanımla sekmesinde görünen sütunların listesini "Sütun seçenekleri" kullanarak yönetebilirsiniz. Seçim için kullanılabilen sütunların listesi öncelikli olarak test çalışması iş öğesi formundaki alanlardır.

Bağlam menüsü seçenekleri

sekme bağlamı menü sayfasını tanımlama

Tanımla sekmesindeki Test çalışması düğümündeki bağlam menüsü aşağıdaki seçenekleri sağlar:

  • Test çalışması iş öğesi formunu açma/düzenleme: Bu seçenek, test adımları dahil olmak üzere iş öğesi alanlarını düzenlediğiniz iş öğesi formunu kullanarak test çalışmasını düzenlemenize olanak tanır.
  • Test çalışmalarını düzenleme: Bu seçenek Test çalışması iş öğesi alanlarını toplu olarak düzenlemenizi sağlar. Ancak, test adımlarını toplu olarak düzenlemek için bu seçeneği kullanamazsınız.
  • Kılavuzda test çalışmalarını düzenleme: Bu seçenek, kılavuz görünümünü kullanarak test adımları dahil olmak üzere seçili test çalışmalarını toplu olarak düzenlemenizi sağlar.
  • Yapılandırma atama: Bu seçenek, test çalışması düzeyi yapılandırmalarıyla paket düzeyi yapılandırmalarını geçersiz kılmanıza olanak tanır.
  • Test çalışmalarını kaldırma: Bu seçenek, verilen paketten test çalışmalarını kaldırmanızı sağlar. Ancak temel alınan test çalışması iş öğesini değiştirmez.
  • Test çalışmalarının kopyasını/kopyasını İçerik Oluşturucu: Bu seçenek, seçili test çalışmalarının kopyasını/kopyasını oluşturmanıza olanak tanır. Diğer ayrıntılar için aşağıya bakın.
  • Bağlantılı öğeleri görüntüleme: Bu seçenek, belirli bir test çalışması için bağlantılı öğelere bakmanızı sağlar. Diğer ayrıntılar için aşağıya bakın.

Test çalışmalarını kopyalama/kopyalama (yeni özellik)

sekme kopyalama testi çalışmaları sayfasını tanımlama

Bir test çalışması kopyalamak/kopyalamak istediğiniz senaryolar için "Test çalışmalarını kopyala" seçeneğini kullanabilirsiniz. Kopyalanan/kopyalanan test çalışmasının oluşturulacağı hedef projeyi, hedef test planını ve hedef test paketini belirtebilirsiniz. Ayrıca, kopyalanan kopyaya akmak için mevcut bağlantıları/ekleri dahil etmek isteyip istemediğinizi de belirtebilirsiniz.

Bağlantılı öğeleri görüntüleme (yeni özellik)

sekme görünümü bağlantılı öğeler sayfasını tanımlama

Test yapıtları, gereksinimleri ve hataları arasındaki izlenebilirlik, Test Plans ürünün kritik bir değer teklifidir. "Bağlantılı öğeleri görüntüle" seçeneğini kullanarak, bu test çalışması ile bağlantılı olan tüm bağlantılı Gereksinimlere, bu test çalışmalarının kullanıldığı tüm Test paketlerine/Test planlara ve test yürütmesinin bir parçası olarak dosyalanmış olan tüm hatalara kolayca bakabilirsiniz.

4. Yürüt sekmesi

sekme sayfasını yürütme

Tanımla sekmesi, bir test paketi için test çalışmalarını harmanlamanıza, eklemenize ve yönetmenize olanak tanır. Yürütme sekmesi test noktaları atamak ve bunları yürütmek içindir.

Test noktası nedir? Test çalışmaları tek başına yürütülebilir değildir. Bir test paketine test çalışması eklediğinizde, test noktaları oluşturulur. Bir test noktası, test çalışması, test paketi, yapılandırma ve test oluşturucunun benzersiz birleşiminden meydana gelir. Örnek: "Oturum açma işlevselliğini test etme" olarak bir test çalışmasınız varsa ve edge ve Chrome olarak buna 2 yapılandırma eklerseniz bu işlem 2 test noktasıyla sonuçlanıyor demektir. Artık bu test noktaları yürütülebilir. Yürütme sırasında test sonuçları oluşturulur. Test sonuçları görünümü (yürütme geçmişi) aracılığıyla bir test noktasının tüm yürütmelerini görebilirsiniz. Test noktası için en son yürütme, yürütme sekmesinde gördüklerinizdir.
Bu nedenle test çalışmaları yeniden kullanılabilir varlıklardır. Bunları bir test planına veya paketine ekleyerek test noktaları oluşturulur. Test noktalarını yürüterek, geliştirilmekte olan ürünün veya hizmetin kalitesini belirlersiniz.

Yeni sayfanın birincil avantajlarından biri, çoğunlukla test yürütme/izleme (yalnızca 'Temel' erişim düzeyine sahip olması gerekir), paket yönetiminin karmaşıklığından etkilenmeyen kullanıcılar içindir (tanımlama sekmesi bu tür kullanıcılar için gizlenir).

Tanımla sekmesi ve belirli işlemler yalnızca Temel + Test Plans erişim düzeyine veya eşdeğerine sahip kullanıcılar tarafından kullanılabilir. "Yürüt" sekmesi de dahil olmak üzere diğer her şey 'Temel' erişim düzeyine sahip bir kullanıcı tarafından genişletilebilir olmalıdır.

Görevler

Yürüt sekmesi aşağıdaki görevleri gerçekleştirmenizi sağlar:

  • Test noktalarını toplu işaretleme: Bu seçenek test çalışmasını Test çalıştırıcısı aracılığıyla çalıştırmak zorunda kalmadan test noktalarının sonucunu (başarılı, başarısız, engellenmiş veya uygulanamaz) hızla işaretlemenizi sağlar. Sonuç, tek seferde bir veya birden çok test noktası için işaretlenebilir.
  • Test noktalarını çalıştırma: Bu seçenek, her test adımında ayrı ayrı ilerleyerek ve test çalıştırıcısı kullanarak bunları başarılı/başarısız olarak işaretleyerek test çalışmalarını çalıştırmanıza olanak tanır. Test ettiğiniz uygulamaya bağlı olarak, bir "web uygulamasını" test için "Web Çalıştırıcısı"nı veya masaüstü ve/veya web uygulamalarını test için "masaüstü çalıştırıcısını" kullanabilirsiniz. Test etmek istediğiniz derlemeyi belirtmek için "Seçeneklerle çalıştır" komutunu da çağırabilirsiniz.
  • Sütun seçenekleri: Yürüt sekmesinde görünen sütun listesini "Sütun seçenekleri" kullanarak yönetebilirsiniz. Seçim için kullanılabilen sütunların listesi Çalıştırma ölçütü, Atanan Test Oluşturucu, Yapılandırma gibi test noktalarıyla ilişkilendirilir.
  • Tam ekran görünümü: Bu seçeneği kullanarak Yürüt sekmesinin tamamının içeriğini tam ekran modunda görüntüleyebilirsiniz.
  • Filtreleme: Filtre çubuğunu kullanarak, "test çalışması başlığı", "atanan", "durum", "test sonucu", "Test eden" ve "Yapılandırma" alanlarını kullanarak test noktaları listesini filtreleyebilirsiniz. Sütun üst bilgilerine tıklayarak da listeyi sıralayabilirsiniz.

Bağlam menüsü seçenekleri

yürütme sekmesi bağlam menüsü sayfası

Yürüt sekmesinin içindeki Test noktası düğümündeki bağlam menüsü aşağıdaki seçenekleri sağlar:

  • Test sonucunu işaretle: Yukarıdakiyle aynı şekilde, başarılı, başarısız, engellenmiş veya geçerli olmayan test noktalarının sonucunu hızla işaretlemenizi sağlar.
  • Test noktalarını çalıştırma: Yukarıdakiyle aynı şekilde, test çalıştırıcısı aracılığıyla test çalışmalarını çalıştırmanıza olanak tanır.
  • Testi etkine sıfırla: Bu seçenek, test sonucunu etkin olarak sıfırlamanıza olanak tanır ve böylece test noktasının son sonucunu yoksayabilirsiniz.
  • Test çalışması iş öğesi formunu açma/düzenleme: Bu seçenek, test adımları dahil olmak üzere iş öğesi alanlarını düzenlediğiniz iş öğesi formunu kullanarak test çalışmasını düzenlemenize olanak tanır.
  • Test edici atama: Bu seçenek, test yürütmesi için test edicilere test noktalarını atamanızı sağlar.
  • Test sonucunu görüntüle: Bu seçenek, her test adımının sonucu, eklenen açıklamalar veya dosyalanan hatalar da dahil olmak üzere en son test sonucu ayrıntılarını görüntülemenizi sağlar.
  • Yürütme geçmişini görüntüle: Bu seçenek, seçili test noktası için yürütme geçmişinin tamamını görüntülemenizi sağlar. Yalnızca seçili test noktasının değil tüm test çalışmalarının yürütme geçmişini görüntülemek için filtreleri ayarlayabileceğiniz yeni bir sayfa açılır.

Test Plans İlerleme raporu

Bu kullanıma hazırlanan rapor, projedeki bir veya daha fazla Test Plans yürütme ve durumunu izlemenize yardımcı olur. Raporu kullanmaya başlamak için Test Plans > İlerleme raporu* adresini ziyaret edin.

İlerleme raporu seçeneğinin vurgulandığı Test Plans bölümünün ekran görüntüsü.

Raporun üç bölümü şunlardır:

  1. Özet: Seçili test planları için birleştirilmiş bir görünümü gösterir.
  2. Sonuç eğilimi: Size yürütme ve durum eğilim çizgisi sağlamak için günlük bir anlık görüntü oluşturur. 14 gün (varsayılan), 30 gün veya özel bir aralık için verileri gösterebilir.
  3. Ayrıntılar: Bu bölüm, her test planında detaya gitmenizi sağlar ve her test paketi için önemli analizler sunar.

İlerleme raporu ekran görüntüsü.

Artifacts

Not

Azure DevOps Server 2020, veri içeri aktarma sırasında geri dönüşüm kutusunda bulunan akışları içeri aktarmaz. Geri dönüşüm kutusundaki akışları içeri aktarmak istiyorsanız, lütfen verileri içeri aktarmaya başlamadan önce bunları geri dönüşüm kutusundan geri yükleyin.

Lisans ifadeleri ve eklenmiş lisanslar

Artık Visual Studio'daki paketlere göz atarken Azure Artifacts'te depolanan NuGet paketleri için lisans bilgilerinin ayrıntılarını görebilirsiniz. Bu, lisans ifadeleri veya eklenmiş lisanslar kullanılarak temsil edilen lisanslar için geçerlidir. Artık Visual Studio paket ayrıntıları sayfasında lisans bilgilerinin bağlantısını görebilirsiniz (aşağıdaki resimde kırmızı ok).

Newtonsoft.Json NuGet paketinin, paketin lisansına işaret eden kırmızı bir okla birlikte ekran görüntüsü.

Bağlantıya tıkladığınızda lisansın ayrıntılarını görüntüleyebileceğiniz bir web sayfasına gidebilirsiniz. Bu deneyim hem lisans ifadeleri hem de eklenmiş lisanslar için aynıdır, bu nedenle Azure Artifacts'te depolanan paketlerin lisans ayrıntılarını tek bir yerde görebilirsiniz (lisans bilgilerini belirten ve Visual Studio tarafından desteklenen paketler için).

MIT lisans metnini dağıtan tarayıcı penceresinin ekran görüntüsü

Basit kimlik doğrulama görevleri

Artık basit kimlik doğrulama görevlerini kullanarak Azure Pipelines'dan popüler paket yöneticileriyle kimlik doğrulaması yapabilirsiniz. Buna NuGet, npm, PIP, Twine ve Maven dahildir. Daha önce, paketleri yayımlama ve indirme de dahil olmak üzere çok fazla işlev sağlayan görevleri kullanarak bu paket yöneticileriyle kimlik doğrulaması gerçekleştirebiliyorsunuz. Ancak bu, paket yöneticileriyle etkileşim kuran tüm etkinlikler için bu görevlerin kullanılması gerekiyordu. Paketleri yayımlama veya indirme gibi görevleri gerçekleştirmek için çalıştıracağınız kendi betikleriniz olsaydı, bunları İşlem Hattınızda kullanamazsınız. Artık işlem hattı YAML'nizde kendi tasarımınıza ait betikleri kullanabilir ve bu yeni basit görevlerle kimlik doğrulaması gerçekleştirebilirsiniz. npm kullanan bir örnek:

Basit bir kimlik doğrulama görevi örneğinin ekran görüntüsü.

Bu çizimde "ci" ve "publish" komutunun kullanımı rastgeledir; Azure Pipelines YAML tarafından desteklenen tüm komutları kullanabilirsiniz. Bu, komut çağırmayı tam olarak denetlemenizi sağlar ve işlem hattı yapılandırmanızda paylaşılan betikleri kullanmayı kolaylaştırır. Daha fazla bilgi için lütfen NuGet, npm, PIP, Twine ve Maven kimlik doğrulama görevi belgelerine bakın.

Akış sayfası yükleme süresi iyileştirmeleri

Akış sayfası yükleme süresini iyileştirdiğimiz için heyecanlıyız. Ortalama olarak, akış sayfası yükleme süreleri %10 azaldı. En büyük akışlarda en fazla gelişme yüzde 99'lık akış sayfası yükleme süresi (tüm akışların en yüksek %99'unda yükleme süreleri) %75 azaldı.

Paketlerinizi genel akışlarla genel olarak paylaşma

Artık paketlerinizi genel akışlar içinde oluşturabilir ve depolayabilirsiniz. Ortak akışlar içinde depolanan paketler, koleksiyonunuz içinde olsun veya olmasın, hatta bir Azure DevOps koleksiyonunda oturum açmış olsalar da, kimlik doğrulaması olmadan İnternet'teki herkes tarafından kullanılabilir. Akışlar belgelerimizden genel akışlar hakkında daha fazla bilgi edinin veya paketleri herkese açık olarak paylaşma öğreticimize doğrudan göz atın.

Paketlerinizin PublicFeed sayfasını gösteren ekran görüntüsü.

AAD kiracısı içindeki farklı koleksiyonlarda yukarı akışları yapılandırma

Artık Azure Active Directory (AAD) kiracınızla ilişkilendirilmiş başka bir koleksiyondaki akışı Yapıtlar akışınıza yukarı akış kaynağı olarak ekleyebilirsiniz. Akışınız, yukarı akış kaynakları olarak yapılandırılan akışlardaki paketleri bulabilir ve kullanabilir ve bu sayede paketlerin AAD kiracınızla ilişkili koleksiyonlar arasında kolayca paylaşılabilmesini sağlar. Belgelerde bunun nasıl ayarlanacağına bakın.

Azure Artifacts akışlarıyla pip ve twine kimlik doğrulaması yapmak için Python Kimlik Bilgisi Sağlayıcısı'nı kullanma

Artık Python Kimlik Bilgileri Sağlayıcısı'nı (artifacts-keyring) yükleyip kullanarak Azure Artifacts akışında veya akışında Python paketlerini yayımlamak veya kullanmak üzere kimlik doğrulamasını otomatik olarak ayarlayabilirsiniz. Kimlik bilgisi sağlayıcısıyla herhangi bir yapılandırma dosyası (/pip.conf/.pypirc pip.ini) ayarlamanız gerekmez; pip veya twine'yi ilk kez çağırırken web tarayıcınızda bir kimlik doğrulama akışı üzerinden yönlendirilirsiniz. Belgelerde daha fazla bilgi bulabilirsiniz.

Visual Studio Paket Yöneticisi'nde Azure Artifacts akışları

Artık Azure Artifacts akışlarından sunulan paketler için Visual Studio NuGet Paket Yöneticisi'nde paket simgelerini, açıklamalarını ve yazarlarını gösteriyoruz. Daha önce, bu meta verilerin çoğu VS'ye sağlanmadı.

Akışa bağlanma deneyimi güncelleştirildi

Akışa bağlan iletişim kutusu, Azure Artifacts'i kullanmanın giriş yoludur; Azure DevOps'ta akışlardan paket göndermek ve çekmek için istemcileri ve depoları yapılandırma hakkında bilgi içerir. İletişim kutusunu ayrıntılı kurulum bilgileri ekleyecek şekilde güncelleştirdik ve yönergeler sunduğumuz araçları genişlettik.

Genel akışlar artık yukarı akış desteğiyle genel kullanıma sunuldu

Genel akışların genel önizlemesi harika bir benimseme ve geri bildirim aldı. Bu sürümde, genel kullanıma sunulan ek özellikleri genişlettik. Artık genel akışı özel bir akıştan yukarı akış kaynağı olarak ayarlayabilirsiniz. Özel ve proje kapsamlı akışlardan yukarı akış oluşturarak yapılandırma dosyalarınızı basit tutabilirsiniz.

Portaldan proje kapsamlı akışları İçerik Oluşturucu

Genel akışları kullanıma sunduğumuzda , proje kapsamlı akışlar da yayımladık. Şimdiye kadar REST API'ler aracılığıyla veya genel akış oluşturup projeyi özele dönüştürerek proje kapsamlı akışlar oluşturulabilirdi. Artık gerekli izinlere sahipseniz herhangi bir projeden doğrudan portalda proje kapsamlı akışlar oluşturabilirsiniz. Ayrıca hangi akışların proje olduğunu ve hangilerinin akış seçicide koleksiyon kapsamında olduğunu da görebilirsiniz.

npm performans geliştirmeleri

Azure Artifacts akışlarında npm paketlerini depolama ve teslim etme şeklimizi geliştirmek için temel tasarımımızda değişiklikler yaptık. Bu, npm için en yüksek kullanılan API'lerden bazıları için gecikme süresinde 10 kat azalmaya ulaşmamıza yardımcı oldu.

Erişilebilirlik geliştirmeleri

Akışlar sayfamızda erişilebilirlik sorunlarını gidermek için düzeltmeler dağıttık. Düzeltmeler şunları içerir:

  • İçerik Oluşturucu akışı deneyimi
  • Genel akış ayarları deneyimi
  • Akış deneyimine bağlanma

Wiki

Kod wiki sayfaları için zengin düzenleme

Daha önce bir kod wiki sayfasını düzenlerken düzenleme için Azure Repos hub'ına yönlendiriliyordunuz. Şu anda Repo hub'ı markdown düzenleme için iyileştirilmemiştir.

Artık wiki'nin içindeki yan yana düzenleyicide bir kod wiki sayfasını düzenleyebilirsiniz. Bu, içeriğinizi oluşturmak için zengin markdown araç çubuğunu kullanarak düzenleme deneyimini proje wiki'sindekiyle aynı hale getirmenizi sağlar. Bağlam menüsündeki Depolarda Düzenle seçeneğini belirleyerek depolarda düzenlemeyi seçebilirsiniz.

Repos'ta Düzenle seçeneğinin vurgulu olduğu Düzenle menüsünü gösteren ekran görüntüsü.

Wiki sayfasından iş öğelerini İçerik Oluşturucu ve ekleme

Geri bildiriminizi dinlerken beyin fırtınası belgelerini, planlama belgelerini, özelliklerle ilgili fikirleri, belirtim belgelerini, toplantı dakikalarını yakalamak için wiki kullandığınızı duyduk. Artık wiki sayfasından çıkmadan doğrudan bir planlama belgesinden kolayca özellik ve kullanıcı hikayeleri oluşturabilirsiniz.

İş öğesi oluşturmak için wiki sayfasında iş öğesini eklemek istediğiniz metni seçin ve sonra da Yeni iş öğesi'ni seçin. Bu size zaman kazandırır çünkü önce iş öğesini oluşturmanız gerekmez, düzenlemeye gidin ve eklemek için iş öğesini bulun. Ayrıca wiki kapsamının dışına çıkmadığınız için bağlam anahtarını da azaltır.

Wiki sayfasından iş öğeleri oluşturmayı ve eklemeyi gösteren kısa video.

Wiki'den iş öğesi oluşturma ve ekleme hakkında daha fazla bilgi edinmek için buradaki belgelerimize bakın.

Wiki sayfalarındaki açıklamalar

Daha önce wiki'nin içindeki diğer wiki kullanıcılarıyla etkileşim kurmanın bir yolu yoktu. Bu, içerik üzerinde işbirliği yapılmasını ve konuşmaların posta veya sohbet kanalları üzerinden gerçekleşmesi gerektiğinden soruların yanıtlanmasında zorluk yarattı. Yorumlar sayesinde artık doğrudan wiki'nin içinden başkalarıyla işbirliği yapabilirsiniz. Diğer ekip üyelerinin dikkatini çekmek için açıklamaların içindeki kullanıcılar işlevselliğinden yararlanabilirsiniz @mention . Bu özellik , bu öneri biletine göre önceliklendirildi. Yorumlar hakkında daha fazla bilgi için lütfen buradaki belgelerimize bakın.

Wiki sayfalarına açıklama eklemeyi gösteren ekran görüntüsü.

"" ile başlayan klasörleri ve dosyaları gizleyin. wiki ağacında

Şimdiye kadar wiki ağacı, wiki ağacında nokta (.) ile başlayan tüm klasörleri ve dosyaları göstermiş. Kod wiki senaryolarında bu, gizli olması amaçlanan .vscode gibi klasörlerin wiki ağacında gösterilmesine neden oldu. Şimdi, noktayla başlayan tüm dosya ve klasörler wiki ağacında gizli kalacak ve bu nedenle gereksiz dağınıklık azaltılacak.

Bu özellik , bu öneri biletine göre önceliklendirildi.

Kısa ve okunabilir Wiki sayfası URL'leri

Artık wiki sayfası bağlantılarını paylaşmak için çok satırlı bir URL kullanmanız gerekmez. Parametreleri kaldırmak için URL'deki sayfa kimliklerinden yararlanarak URL'yi daha kısa ve okunmasını kolaylaştırıyoruz.

URL'lerin yeni yapısı şöyle görünür:

https://dev.azure.com/{accountName}/{projectName}/_wiki/wikis/{wikiName}/{pageId}/{readableWiki PageName}

Bu, Azure DevOps Wiki'ye Hoş Geldiniz sayfasının yeni URL'sine bir örnektir:

https://dev.azure.com/microsoft/ AzureDevOps/_wiki/wikis/AzureDevOps.wiki/1/Welcome-to-Azure-DevOps-Wiki

Bu, Geliştirici Topluluğu bu özellik öneri biletine göre önceliklendirildi.

Wiki sayfalarını düzenlemek için zaman uyumlu kaydırma

Düzenleme ve önizleme bölmesi arasında zaman uyumlu kaydırma özelliği sayesinde wiki sayfalarını düzenlemek artık daha kolay. Bir tarafta kaydırma, ilgili bölümleri eşlemek için otomatik olarak diğer tarafı kaydıracaktır. Zaman uyumlu kaydırmayı iki durumlu düğmeyle devre dışı bırakabilirsiniz.

Synchronus kaydırma simgesinin vurgulanmış olduğu wiki araç çubuğunun ekran görüntüsü ve üzerinde Eşitlenmiş kaydırma iki durumlu düğmesini devre dışı bırak.

Not

Zaman uyumlu kaydırma iki durumlu düğmesinin durumu kullanıcı ve hesap başına kaydedilir.

Wiki sayfaları için sayfa ziyaretleri

Artık wiki sayfaları için sayfa ziyaretleri hakkında içgörüler edinebilirsiniz. REST API, son 30 gün içindeki sayfa ziyaretleri bilgilerine erişmenizi sağlar. Wiki sayfalarınız için raporlar oluşturmak için bu verileri kullanabilirsiniz. Ayrıca, bu verileri veri kaynağınızda depolayabilir ve en çok görüntülenen ilk n sayfa gibi belirli içgörüler elde etmek için panolar oluşturabilirsiniz.

Ayrıca her sayfada son 30 gün için toplu sayfa ziyaretleri sayısı görürsünüz.

Wiki sayfasının önceki ziyaretlerini gösteren ekran görüntüsü.

Not

Sayfa ziyareti, belirli bir kullanıcı tarafından 15 dakikalık bir aralıkta sayfa görünümü olarak tanımlanır.

Raporlama

İşlem hattı hatası ve süre raporları

Ölçümler ve içgörüler, işlem hatlarınızın aktarım hızını ve kararlılığını sürekli geliştirmenize yardımcı olur. İşlem hatlarınız hakkında içgörüler sağlamak için iki yeni rapor ekledik.

  1. İşlem hattı hata raporu, derleme geçiş hızını ve hata eğilimini gösterir. Ayrıca, işlem hattındaki en fazla hata sayısına hangi görevin katkıda bulunduğuna ilişkin içgörüler sağlamak için görev hatası eğilimini de gösterir.

İşlem hattı geçiş hızı rozetini, Test geçiş hızı rozetini ve İşlem hattı süresi rozetini gösteren Analiz sekmesini gösteren ekran görüntüsü.

İşlem hattı hata raporunu gösteren ekran görüntüsü.

  1. İşlem hattı süresi raporu, işlem hattının çalışması için geçen süre eğilimini gösterir. Ayrıca işlem hattındaki hangi görevlerin en fazla zaman aldığını gösterir.

Sorgu Sonuçları pencere öğesinde geliştirme

Sorgu sonuçları pencere öğesi en popüler pencere öğelerimizden biridir ve bunun iyi bir nedeni vardır. Pencere öğesi, sorgunun sonuçlarını doğrudan panonuzda görüntüler ve birçok durumda kullanışlıdır.

Bu güncelleştirme ile uzun süredir beklenen birçok iyileştirmeyi dahil ettik:

  • Artık pencere öğesinde görüntülemek istediğiniz kadar sütun seçebilirsiniz. Artık 5 sütun sınırı yok!
  • Pencere öğesi 1x1 ile 10x10 arasından tüm boyutları destekler.
  • Bir sütunu yeniden boyutlandırdığınızda , sütun genişliği kaydedilir.
  • Pencere öğesini tam ekran görünümüne genişletebilirsiniz. Genişletildiğinde, sorgu tarafından döndürülen tüm sütunları görüntüler.

Müşteri Adayı ve Döngü Süresi pencere öğeleri gelişmiş filtreleme

Müşteri adayı ve döngü süresi , ekiplerin geliştirme işlem hatlarında çalışmanın ne kadar sürdüğünü görmek ve nihai olarak müşterilerine değer sunmak için kullanılır.

Şimdiye kadar , müşteri adayı ve döngü süresi pencere öğeleri gelişmiş filtre ölçütlerini desteklemedi ve şu gibi sorular sormayı desteklemedi: "Ekibimin daha yüksek öncelikli öğeleri kapatması ne kadar sürüyor?"

Bu güncelleştirme ile bu gibi sorular Pano kulvarını filtreleyerek yanıtlanabilir.

Kulvar bölümünün vurgulu olduğu Yapılandırma iletişim kutusunu gösteren ekran görüntüsü.

Grafikte görünen iş öğelerini sınırlamak için iş öğesi filtrelerini de dahil ettik.

Alan ölçütleri bölümünün vurgulu olduğu Yapılandırma iletişim kutusunu gösteren ekran görüntüsü.

İçerik noktalarını kullanarak satır içi sprint yazma

Sprint Burndown'ınız artık Hikayeler tarafından yakılabilir. Bu, Geliştirici Topluluğu geri bildirimlerinizi giderir.

Sprint hub'ından Analiz sekmesini seçin. Ardından raporu aşağıdaki gibi yapılandırın:

  1. Hikayeler kapsamı'nu seçin
  2. Hikaye Noktalarının Toplamı'nda yazmak için seçin

İçerik noktalarını kullanarak satır içi sprint yazma işlemini gösteren ekran görüntüsü.

İstediğiniz her şeyi içeren sprint burndown pencere öğesi

Yeni Sprint Yazma pencere öğesi Öykü Noktalarına, Görev sayısına veya özel alanları toplayarak yazma işlemini destekler. Özellikler veya Epic'ler için sprint yazma bile oluşturabilirsiniz. Pencere öğesi ortalama yazma, tamamlanma yüzdesi ve kapsam artışını görüntüler. Ekibi yapılandırarak aynı panoda birden çok ekip için sprint'leri görüntülemenizi sağlayabilirsiniz. Görüntülenecek tüm bu harika bilgiler sayesinde panoda 10x10'a kadar yeniden boyutlandırmanıza olanak tanırız.

Yeni Sprint Burndown pencere öğesini gösteren sceenshot.

Denemek için pencere öğesi kataloğundan veya mevcut Sprint Burndown pencere öğesinin yapılandırmasını düzenleyerek ve Yeni sürümü şimdi deneyin kutusunu işaretleyerek ekleyebilirsiniz.

Not

Yeni pencere öğesiNde Analytics kullanılır. Analytics'e erişiminiz olmadığı takdirde eski Sprint Burndown'ı sakladık.

Satır içi sprint burndown küçük resmi

Sprint Yazma geri döndü! Birkaç sprint önce Sprint Yazma ve Görev Panosu üst bilgilerinden bağlam içi sprint yazma işlemini kaldırdık. Geri bildirimlerinize dayanarak sprint burndown küçük resmini geliştirdik ve yeniden kullanıma aldık.

Satır içi sprint yazma küçük resmini gösteren ekran görüntüsü.

Küçük resme tıklanırken hemen grafiğin daha büyük bir sürümü görüntülenir ve analiz sekmesinin altında raporun tamamını görüntüleme seçeneği bulunur. Raporun tamamında yapılan değişiklikler üst bilgide görüntülenen grafiğe yansıtılır. Bu nedenle artık bunu yalnızca kalan çalışma miktarı yerine hikayelere, hikaye noktalarına veya görev sayısına göre yazacak şekilde yapılandırabilirsiniz.

Ekip olmadan pano İçerik Oluşturucu

Artık bir ekiple ilişkilendirmeden pano oluşturabilirsiniz. Pano oluştururken Proje Panosu türünü seçin.

Proje Panosu seçeneğinin seçili ve vurgulu olduğu bir pano İçerik Oluşturucu iletişim kutusunu gösteren ekran görüntüsü.

Proje Panosu, Ekip Panosu gibidir, ancak bu pano bir Ekiple ilişkilendirilmemiştir ve panoyu kimlerin düzenleyebileceğine/yönetebileceğine siz karar vekleyebilirsiniz. Ekip Panosu gibi, projedeki herkes tarafından görülebilir.

Ekip bağlamı gerektiren tüm Azure DevOps pencere öğeleri, yapılandırmalarında bir ekip seçmenize olanak verecek şekilde güncelleştirildi. Bu pencere öğelerini Proje Panolarına ekleyebilir ve istediğiniz ekibi seçebilirsiniz.

Ekip açılan listesinin ekran görüntüsü.

Not

Özel veya üçüncü taraf pencere öğeleri için, Proje Panosu bu pencere öğelerine varsayılan ekibin bağlamını geçirir. Ekip bağlamını kullanan özel bir pencere öğeniz varsa, bir ekip seçmenize izin vermek için yapılandırmayı güncelleştirmeniz gerekir.


Geri Bildirim

Görüşlerinizi almaktan mutluluk duyarız! Bir sorunu bildirebilir veya fikir verebilir, Geliştirici Topluluğu aracılığıyla izleyebilir ve Stack Overflow hakkında öneriler alabilirsiniz.


Sayfanın Başı