Share via


Azure DevOps Server 2022 Güncelleştirme 1 Sürüm Notları


| | Geliştirici Topluluğu System Gereksinimleri ve Uyumluluk | Lisans Koşulları | DevOps Blogu | SHA-256 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 Server ürünleri indirmek için Azure DevOps Server İndirmeler sayfasını ziyaret edin.

Azure DevOps Server 2022 Güncelleştirme 1'e doğrudan yükseltme, Azure DevOps Server 2019 veya Team Foundation Server 2015 veya daha yeni sürümlerde desteklenir. TFS dağıtımınız TFS 2013 veya daha önceki bir sürümdeyse, Azure DevOps Server 2022'ye yükseltmeden önce bazı ara adımları gerçekleştirmeniz gerekir. Daha fazla bilgi için lütfen Yükleme sayfasına bakın.


Azure DevOps Server 2022 Güncelleştirme 1 Yama 3 Sürüm Tarihi: 12 Mart 2024

File SHA-256 Karması
devops2022.1patch3.exe E7DE45650D74A1B1C47F947CDEF4BF3307C4323D749408EE7F0524C2A04D2911

Azure DevOps Server 2022 Güncelleştirme 1 için aşağıdaki düzeltmeleri içeren Düzeltme Eki 3'i yayımladık.

  • Yama 2'yi yükledikten sonra Ara Sunucunun çalışmayı durdurması sorunu çözüldü.
  • Uzantı ayrıntıları sayfasında İngilizce olmayan dilleri etkileyen bir işleme sorunu düzeltildi.

Azure DevOps Server 2022 Güncelleştirme 1 Düzeltme Eki 2 Sürüm Tarihi: 13 Şubat 2024

File SHA-256 Karması
devops2022.1patch2.exe 59B3191E86DB787F91FDD1966554DE580CA97F06BA9CCB1D747D41A2317A5441

Azure DevOps Server 2022 Güncelleştirme 1 için aşağıdaki düzeltmeleri içeren Düzeltme Eki 2'yi yayımladık.

  • Arama uzantısındaki ayrıntılar sayfası işleme sorunu düzeltildi.
  • Ara sunucu önbellek klasörü tarafından kullanılan disk alanının yanlış hesaplandığı ve klasörün düzgün temizlenmediği bir hata düzeltildi.
  • CVE-2024-20667: uzaktan kod yürütme güvenlik açığı Azure DevOps Server.

Azure DevOps Server 2022 Güncelleştirme 1 Düzeltme Eki 1 Yayın Tarihi: 12 Aralık 2023

File SHA-256 Karması
devops2022.1patch1.exe 9D0FDCCD1F20461E586689B756E600CC16424018A3377042F7DC3A6EEF096FB6

Azure DevOps Server 2022 Güncelleştirme 1 için aşağıdaki düzeltmeleri içeren Düzeltme Eki 1'i yayımladık.

  • İşlem hattı çalıştırmasını kuyruğa alırken ayarı requested for engelleyin.

Azure DevOps Server 2022 Güncelleştirme 1 Sürüm Tarihi: 28 Kasım 2023

Not

Bu sürümde bilinen iki sorun vardır:

  1. Aracı sürümü, Azure DevOps Server 2022.1'e yükselttikten ve Aracı Havuzu yapılandırmasında Güncelleştirme Aracısı'nı kullandıktan sonra güncelleştirilmez. Şu anda bu sorunu çözmek için bir düzeltme eki üzerinde çalışıyoruz ve ilerleme kaydettikçe güncelleştirmeleri Geliştirici Topluluğu paylaşacağız. Bu arada, bu sorun için bu Geliştirici Topluluğu biletinde geçici bir çözüm bulabilirsiniz.
  2. Maven 3.9.x uyumluluğu. Maven 3.9.x, Wagon'danyerel HTTP'ye varsayılan Maven Resolver aktarımını güncelleştirerek Azure Artifacts ile hataya neden olan değişiklikler yaptı. Bu, https yerine http kullanan müşteriler için 401 kimlik doğrulama sorunlarına neden olur. Bu sorunla ilgili daha fazla ayrıntıyı burada bulabilirsiniz. Geçici bir çözüm olarak, özelliğiyle -Dmaven.resolver.transport=wagonMaven 3.9.x kullanmaya devam edebilirsiniz. Bu değişiklik Maven'i Wagon Resolver Transport kullanmaya zorlar. Diğer ayrıntılar için buradaki belgelere göz atın.

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

Not

Maven 3.9.x uyumluluğuyla ilgili bilinen bir sorun vardır. Maven 3.9.x, Wagon'danyerel HTTP'ye varsayılan Maven Resolver aktarımını güncelleştirerek Azure Artifacts ile hataya neden olan değişiklikler yaptı. Bu, https yerine http kullanan müşteriler için 401 kimlik doğrulama sorunlarına neden olur. Bu sorunla ilgili daha fazla ayrıntıyı burada bulabilirsiniz.

Geçici bir çözüm olarak, özelliğiyle -Dmaven.resolver.transport=wagonMaven 3.9.x kullanmaya devam edebilirsiniz. Bu değişiklik Maven'i Wagon Resolver Transport kullanmaya zorlar. Diğer ayrıntılar için buradaki belgelere göz atın.

Azure DevOps Server 2022 Güncelleştirme 1 RC2 Sürüm Tarihi: 31 Ekim 2023

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

Not

Maven 3.9.x uyumluluğuyla ilgili bilinen bir sorun vardır. Maven 3.9.x, Wagon'danyerel HTTP'ye varsayılan Maven Resolver aktarımını güncelleştirerek Azure Artifacts ile hataya neden olan değişiklikler yaptı. Bu, https yerine http kullanan müşteriler için 401 kimlik doğrulama sorunlarına neden olur. Bu sorunla ilgili daha fazla ayrıntıyı burada bulabilirsiniz.

Geçici bir çözüm olarak, özelliğiyle -Dmaven.resolver.transport=wagonMaven 3.9.x kullanmaya devam edebilirsiniz. Bu değişiklik Maven'i Wagon Resolver Transport kullanmaya zorlar. Diğer ayrıntılar için buradaki belgelere göz atın.

Bu sürümde aşağıdakiler düzeltilmiştir:

  • Yerel akışlarda yukarı akış girişlerinin görünen ad değişikliklerini çözmemesi sorunu düzeltildi.
  • Sekmeler Koddan Arama sayfasındaki başka bir sekmeye geçirildiğinde beklenmeyen bir hata oluştu.
  • Çince, Japonca ve Korece (CJK) Birleşik Ideographs ile yeni bir iş öğesi türü oluşturulurken hata oluştu. Takım projesi adı veya dosyaları CJK içerdiğinde, geçitli iadede RAW günlüğünde bir soru işareti görüntülendi.
  • Arama yüklemesi sırasında Java Sanal Makinesi'nin (JVM) Elastik Arama işlemine yeterli belleği ayıramadığı bir sorun düzeltildi. Arama yapılandırma pencere öğesi artık Elastik Arama ile birlikte gelen Java Geliştirme Seti'ni (JDK) kullanacak ve bu nedenle hedeflenen sunucuya önceden yüklenmiş java çalışma zamanı ortamına (JRE) bağımlılığı kaldıracaktır.

Azure DevOps Server 2022 Güncelleştirme 1 RC1 Sürüm Tarihi: 19 Eylül 2023

Azure DevOps Server 2022.1 RC1 birçok yeni özellik içerir. Önemli noktalardan bazıları:

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


Genel

Tüm Genel REST API'leri ayrıntılı PAT kapsamlarını destekler

Daha önce, genel olarak belgelenen bir dizi Azure DevOps REST API'si, müşterilerin bu API'leri kişisel erişim belirteçleri (PAT) gibi etkileşimli olmayan kimlik doğrulama mekanizmaları aracılığıyla kullanmak için tam kapsamları kullanmasına yol açan kapsamlarla (örneğin, iş öğesi okuma) ilişkilendirilmedi. Tam kapsamlı kişisel erişim belirteci kullanmak, kötü amaçlı bir kullanıcının eline geçtiğinde riski artırır. Bu, müşterilerimizin çoğunun PAT'nin kullanımını ve davranışını kısıtlamak için kontrol düzlemi politikalarından tam olarak yararlanmamalarının temel nedenlerinden biridir.

Artık tüm genel Azure DevOps REST API'leri ayrıntılı bir PAT kapsamıyla ilişkilendirilir ve desteklenir. Şu anda genel Azure DevOps REST API'lerinden birinde kimlik doğrulaması yapmak için tam kapsamlı bir PAT kullanıyorsanız, gereksiz erişimi önlemek için API tarafından kabul edilen belirli kapsama sahip bir PAT'ye geçmeyi göz önünde bulundurun. Belirli bir REST API için desteklenen ayrıntılı PAT kapsamları belge sayfalarının Güvenlik bölümünde bulunabilir. Ayrıca, burada bir kapsamlar tablosu vardır.

Uzantılar Kapsamlarını görüntülemelidir

Azure DevOps koleksiyonunuz için uzantıları yüklerken, yüklemenin bir parçası olarak uzantının ihtiyaç duyduğu izinleri gözden geçirebilirsiniz. Ancak, yüklendikten sonra uzantı izinleri uzantı ayarlarında görünmez. Bu durum, yüklü uzantıları düzenli aralıklarla gözden geçirmesi gereken yöneticiler için zor bir durum ortaya çıkarmıştır. Şimdi, uzantı ayarlarını gözden geçirmenize ve tutmama konusunda bilinçli bir karar almanıza yardımcı olmak için uzantı ayarlarına uzantı izinlerini ekledik.

Market'e dağıtmak için kişisel erişim belirteçleri oluşturma

Boards

Teslim Planları sayfasındaki Son Erişilen sütun

Teslim Planları dizin sayfası, projeniz için tanımlanan planların listesini sağlar. Sıralama ölçütü: Ad, Oluşturan, Açıklama, Son yapılandırılan veya Sık Kullanılanlar. Bu güncelleştirmeyle, dizin sayfasına son erişilen sütununu ekledik. Bu, Bir Teslim Planının en son ne zaman açıldığını ve ne zaman bakıldığını gösterir. Sonuç olarak, artık kullanılmayan ve silinebilen planları tanımlamak kolaydır.

Teslim Planları sayfasındaki Son Erişilen alan tanıtımına gif ekleyin.

Teslim Planlarına yönelik tüm bağımlılıkları görselleştirme

Teslim Planları her zaman iş öğeleri arasında bağımlılıkları görme olanağı sağlamıştır. Bağımlılık çizgilerini tek tek görselleştirebilirsiniz. Bu sürümle, ekrandaki tüm iş öğelerindeki tüm bağımlılık satırlarını görmenizi sağlayarak deneyimi geliştirdik. Teslim planınızın sağ üst kısmındaki bağımlılıklar iki durumlu düğmesine tıklamanız yeterlidir. Satırları kapatmak için yeniden tıklayın.

Teslim Planları sayfasındaki tüm bağımlılıkları tanıtım amaçlı olarak görselleştirmek için Gif.

Yeni iş öğesi düzeltme sınırları

Son birkaç yıl içinde, otomatik araçlarla proje koleksiyonlarının on binlerce iş öğesi düzeltmesi ürettiğini gördük. Bu, iş öğesi formunda ve raporlama REST API'lerinde performans ve kullanılabilirlikle ilgili sorunlar oluşturur. Sorunu azaltmak için Azure DevOps Hizmeti'ne 10.000 iş öğesi düzeltme sınırı uyguladık. Sınır yalnızca REST API kullanan güncelleştirmeleri etkiler, iş öğesi formunu etkilemez.

Düzeltme sınırı hakkında daha fazla bilgi edinmek ve otomatikleştirilmiş araçlarınızda bu sınırın nasıl işlenmesi gerektiğini öğrenmek için buraya tıklayın.

Teslimat Planları ekip sınırını 15'ten 20'ye yükseltin

Teslim Planları, proje koleksiyonunuz genelinde birden çok kapsamı ve birden çok ekibi görüntülemenizi sağlar. Daha önce farklı projelerdeki kapsamlar ve ekipler de dahil olmak üzere 15 ekip kapsamını görüntüleyebilirsiniz. Bu sürümle birlikte maksimum sınırı 15'ten 20'ye çıkardık.

Raporlama İş Öğesi Bağlantıları Alma API'sinde bağlantı türleri için System.LinkTypes.Remote.Related doğru remoteUrl değerini döndürmeye yönelik bir hata düzeltildi. Bu düzeltmeden önce yanlış proje koleksiyonu adını ve eksik proje kimliğini döndürdük.

Geçici sorgu REST uç noktası oluşturma

Çeşitli uzantı yazarlarının, querystring aracılığıyla İş Öğesi Sorgu Dili (WIQL) deyimini geçirerek kaydedilmemiş sorgular çalıştırmaya çalıştığını gördük. Sorgu dizesi uzunluğundaki tarayıcı sınırlarına ulaşan büyük bir WIQL deyiminiz olmadığı sürece bu işlem düzgün çalışır. Bunu çözmek için, araç yazarlarının geçici bir sorgu oluşturmasına olanak sağlayan yeni bir REST uç noktası oluşturduk. Querystring aracılığıyla geçirmek için yanıttan alınan kimliğin kullanılması bu sorunu ortadan kaldırır.

Geçici sorgular REST API belgeleri sayfasından daha fazla bilgi edinin.

Toplu silme API'si

Şu anda, iş öğelerini geri dönüşüm kutusundan kaldırmanın tek yolu bu REST API'yi kullanarak teker teker silmektir. Bu yavaş bir işlem olabilir ve herhangi bir kitle temizleme işlemi yapmaya çalışırken hız sınırlamasına tabidir. Yanıt olarak, iş öğelerini toplu olarak silmek ve/veya yok etmek için yeni bir REST API uç noktası ekledik.

@CurrentIteration Teslim Planlarındaki makro

Bu güncelleştirmeyle, Teslim Planları'ndaki @CurrentIteration stiller için makro desteği ekledik. Bu makro, planınızdaki her satırın ekip bağlamından geçerli yinelemeyi almanıza olanak sağlar.

Teslim Planlarında CurrentIteration makrosunda tanıtım yapmak için Gif.

Teslim Planlarında kart yeniden boyutlandırma mantığı

Özellikler ve Epic'ler izlendiğinde herkes hedef tarihi ve/veya başlangıç tarihini kullanmaz. Bazıları tarihlerin ve yineleme yolunun bir bileşimini kullanmayı seçer. Bu sürümde, nasıl kullanıldıklarına bağlı olarak yineleme yolu ve tarih alanı birleşimlerini uygun şekilde ayarlamak için mantığı geliştirdik.

Örneğin, hedef tarih kullanılmıyorsa ve kartı yeniden boyutlandırırsanız, hedef tarihi güncelleştirmek yerine yeni yineleme yolu ayarlanır.

Tanıtım amaçlı açıklama kopyalama bağlantısına gif ekleyin.

Toplu güncelleştirme geliştirmeleri

İş öğesi toplu güncelleştirme API'sinin 7.1 sürümünde birkaç değişiklik yaptık. Bunlar arasında küçük performans geliştirmeleri ve kısmi hataların işlenmesi yer alır. Başka bir deyişle, bir yama başarısız olursa ancak diğerleri başarısız olursa, diğerleri başarıyla tamamlanır.

Toplu güncelleştirme REST API'si hakkında daha fazla bilgi edinmek için buraya tıklayın.

Toplu silme API'si

toplu iş öğelerini silmek ve/veya yok etmek için bu yeni REST API uç noktası artık genel kullanıma sunulmuştur. Daha fazla bilgi için buraya tıklayın.

Paylaşılabilir seçim listesi alanlarının düzenlenmesini engelleme

Özel alanlar işlemler arasında paylaşılır. Bu, işlem yöneticilerinin alana değer eklemesine veya alandan değer kaldırmasına izin vermemizden dolayı seçim listesi alanları için sorun oluşturabilir. Bunu yaparken, değişiklikler bu alanı kullanan her işlemde etkiler.

Bu sorunu çözmek için koleksiyon yöneticisinin bir alanı düzenlenmesini "kilitleme" özelliğini ekledik. Seçim listesi alanı kilitliyken, yerel işlem yöneticisi bu seçim listesinin değerlerini değiştiremez. Alanı yalnızca işlemden ekleyebilir veya kaldırabilirler.

Paylaşılabilir seçim listesi alanlarının tanıtım düzenlemesi için Gif.

Yeni açıklamaları kaydetme izni

Geliştirici topluluğunda yalnızca iş öğesi açıklamalarını kaydetme özelliği en önemli istektir. Bu özelliği uyguladığımızı size bildirmek için heyecanlıyız. Başlamak için en yaygın senaryoyu gözden geçirelim:

"Bazı kullanıcıların iş öğesi alanlarını düzenlemesini engellemek ama tartışmalara katkıda bulunmalarına izin vermek istiyorum."

Bunu başarmak için Proje Ayarları > Proje Yapılandırma > Alanı Yolu'na gitmeniz gerekir. Ardından istediğiniz alan yolunu seçin ve Güvenlik'e tıklayın.

Alan Yolu

Yeni "Bu düğümdeki iş öğesi açıklamalarını düzenle" iznine dikkat edin. Varsayılan olarak, izin Ayarlanmadı olarak ayarlanır. Bu, iş öğesinin daha önce olduğu gibi davranacağı anlamına gelir. Bir grubun veya kullanıcıların açıklamaları kaydetmesine izin vermek için bu grubu/kullanıcıları seçin ve izni İzin Ver olarak değiştirin.

Yeni İzin

Kullanıcı iş öğesi formunu bu alan yolunda açtığında, açıklama ekleyebilir, ancak diğer alanlardan hiçbirini güncelleştiremez.

Paylaşılabilir seçim listesi alanlarının tanıtım düzenlemesi.

Bu özelliği bizim kadar sevdiğinizi umuyoruz. Her zaman olduğu gibi, geri bildiriminiz veya önerileriniz varsa lütfen bize bildirin.

Etkileşimli pano raporları

Boards hub'ında bulunan etkileşimli raporlara ürünün barındırılan sürümünde birkaç yıldır erişilebilir durumdadır. Bunlar eski Kümülatif Akış Diyagramı, Hız ve Sprint İlerleme grafiklerinin yerini alır. Bu sürümle birlikte bunları kullanıma sunacağız.

Bu grafikleri görüntülemek için Kanban Panosu, Kapsam ve Sprint'ler sayfalarında Analiz sekmesi konumuna tıklayın.

Etkileşimli Raporlar

Repos

Dal oluşturucu için "İlkeleri düzenleme" iznini kaldırma

Daha önce yeni bir dal oluşturduğunuzda, bu daldaki ilkeleri düzenleme iznine sahipsiniz. Bu güncelleştirmeyle, depo için "İzin yönetimi" ayarı açık olsa bile varsayılan davranışı bu izni vermemek üzere değiştiriyoruz.

İzin yönetimi görüntüsü.

Güvenlik izni devralma veya grup üyeliği aracılığıyla açıkça (el ile veya REST API aracılığıyla) "İlkeleri düzenle" iznine sahip olmanız gerekir.

Pipelines

Klasik işlem hatlarında derleme erişim belirteci için varsayılan kapsam olarak ayarlanan geçerli proje

Azure Pipelines, çalışma zamanında Azure DevOps'taki diğer kaynaklara erişmek için iş erişim belirteçlerini kullanır. İş erişim belirteci, çalışma zamanındaki her iş için Azure Pipelines tarafından dinamik olarak oluşturulan bir güvenlik belirtecidir. Daha önce, yeni bir klasik işlem hattı oluştururken erişim belirtecinin varsayılan değeri Project Collection olarak ayarlanmıştı. Bu güncelleştirmeyle, yeni bir klasik işlem hattı oluştururken iş yetkilendirme kapsamını varsayılan olarak geçerli projeye ayarlıyoruz.

İş erişim belirteçleri hakkında daha fazla ayrıntıyı Access depoları, yapıtlar ve diğer kaynaklar belgelerinde bulabilirsiniz.

Klasik derleme işlem hatlarında varsayılan erişim belirteçleri kapsamında değişiklik yapma

Klasik derleme işlem hatlarının güvenliğini artırmak için, yeni bir tane oluştururken derleme işi yetkilendirme kapsamı varsayılan olarak Project olur. Şimdiye kadar Proje Koleksiyonu'ylardı. İş erişim belirteçleri hakkında daha fazla bilgi edinin. Bu değişiklik mevcut işlem hatlarından hiçbirini etkilemez. Yalnızca bu noktadan itibaren oluşturduğunuz yeni klasik derleme işlem hatlarını etkiler.

ServiceNow'un San Diego, Tokyo & Utah sürümleri için Azure Pipelines desteği

Azure Pipelines,ServiceNow ile mevcut bir tümleştirmeye sahiptir. Tümleştirme, ServiceNow'daki bir uygulamaya ve Azure DevOps'taki bir uzantıya dayanır. Şimdi uygulamayı ServiceNow'un San Diego, Tokyo & Utah sürümleriyle çalışacak şekilde güncelleştirdik. Bu tümleştirmenin çalıştığından emin olmak için ServiceNow mağazasından uygulamanın yeni sürümüne (4.215.2) yükseltin.

Daha fazla bilgi için ServiceNow Değişiklik Yönetimi ile Tümleştirme belgelerine bakın.

GitHub Enterprise tümleştirmesi için proxy URL'lerini kullanma

Azure Pipelines, sürekli tümleştirme ve PR derlemeleri çalıştırmak için şirket içi GitHub Enterprise Servers ile tümleşir. Bazı durumlarda GitHub Enterprise Server bir güvenlik duvarının arkasındadır ve trafiğin bir ara sunucu üzerinden yönlendirilmesi gerekir. Bu senaryoyu desteklemek için Azure DevOps'taki GitHub Enterprise Server hizmet bağlantıları bir ara sunucu URL'si yapılandırmanıza olanak tanır. Daha önce, Azure DevOps'tan gelen tüm trafik bu ara sunucu URL'si üzerinden yönlendirilmiyordu. Bu güncelleştirmeyle, aşağıdaki trafiği Azure Pipelines'dan ara sunucu URL'sine yönlendirdiğimizden emin olacağız:

  • Dalları alma
  • Çekme isteği bilgilerini alma
  • Rapor derleme durumu

Container Registry hizmeti bağlantıları artık Azure Yönetilen Kimlikleri kullanabilir

Azure Container Registry için Docker Kayıt Defteri hizmet bağlantıları oluştururken Sistem Tarafından Atanan Yönetilen Kimliği kullanabilirsiniz. Bu, şirket içinde barındırılan bir Azure Pipelines aracısı ile ilişkili Yönetilen Kimlik kullanarak Azure Container Registry erişmenize olanak sağlayarak kimlik bilgilerini yönetme gereksinimini ortadan kaldırır.

Onaylarda Yapılan Değişiklikler için Yeni Docker Kayıt Defteri Hizmeti Bağlantısı

Not

Azure Container Registry erişmek için kullanılan Yönetilen Kimlik için uygun Azure Rol Tabanlı Access Control (RBAC) ataması gerekir; örneğin AcrPull veya AcrPush rolü.

Kubernetes Service Connection için otomatik belirteçler oluşturuldu

Kubernetes 1.24'ten bu yana, yeni bir Kubernetes Service Bağlantısı oluşturulurken belirteçler artık otomatik olarak oluşturulmadı. Bu işlevi geri ekledik. Ancak AKS'ye erişirken Azure Hizmeti bağlantısını kullanmanız önerilir. Daha fazla bilgi edinmek için Kubernetes görevlerini kullanan AKS müşterileri için Hizmet Bağlantısı kılavuzu blog gönderisine bakın.

Kubernetes görevleri artık kubelogin'i destekliyor

kubelogin'i desteklemek için KuberentesManifest@1, HelmDeploy@0, Kubernetes@1 ve AzureFunctionOnKubernetes@1 görevlerini güncelleştirdik. Bu, Azure Active Directory tümleştirmesi ile yapılandırılmış Azure Kubernetes Service’i (AKS) hedeflemenizi sağlar.

Kubelogin, Barındırılan görüntülerde önceden yüklü değildir. Yukarıda bahsedilen görevlerin kubelogin kullandığından emin olmak için, KubeloginInstaller@0 görevi ona bağlı görevin önüne ekleyerek yükleyin:

 - task: KubeloginInstaller@0

 - task: HelmDeploy@0
   # arguments do not need to be modified to use kubelogin

İşlem hattı izinlerinde geliştirmeler yaşayın

İzin sisteminin daha önce bir işlem hattının hizmet bağlantısı gibi korumalı bir kaynak kullanıp kullanmadığını anımsaması için işlem hattı izinlerini yönetme deneyimini geliştirdik.

Geçmişte, korumalı bir kaynak oluştururken "Tüm işlem hatlarına erişim izni ver" seçeneğini işaretlediyseniz ancak kaynağa erişimi kısıtladıysanız, işlem hattınızın kaynağı kullanmak için yeni bir yetkilendirmeye ihtiyacı vardı. Bu davranış, yeni yetkilendirmenin gerekmediği kaynağın sonraki açma ve kapatma erişimiyle tutarsızdı. Bu artık düzeltildi.

İşlem hattı yetkilendirmesini ve onaylarını ve denetimlerini yönetmek için yeni PAT Kapsamı

PAT belirtecini sızdırarak oluşan hasarı sınırlamak için adlı Pipeline Resourcesyeni bir PAT kapsamı ekledik. Hizmet bağlantısı gibi korumalı bir kaynak kullanarak işlem hattı yetkilendirmesini yönetirken veya bu kaynağınonaylarını ve denetimlerini yönetmek için bu PAT kapsamını kullanabilirsiniz.

İşlem Hatları REST API Güncelleştirmeler

Aşağıdaki REST API çağrıları yeni PAT kapsamını aşağıdaki gibi destekler:

Korumalı kaynakları kaynak yöneticilerine açmayı kısıtlama

Uygulamalarınızı güvenli bir şekilde oluşturup dağıtma beceriniz için kritik öneme sahip kaynakların güvenliğini artırmak için Azure Pipelines artık bir kaynağa erişimi tüm işlem hatlarına açarken kaynak türü yönetici rolüne ihtiyaç duyuyor.

Örneğin, herhangi bir işlem hattının hizmet bağlantısı kullanmasına izin vermek için genel bir Hizmet Connections Yöneticisi rolü gerekir.. Bu kısıtlama, korumalı kaynak oluştururken veya Güvenlik yapılandırmasını düzenlerken geçerlidir.

Ayrıca, bir hizmet bağlantısı oluştururken ve yeterli haklara sahip değilseniz Tüm işlem hatlarına erişim izni ver seçeneği devre dışı bırakılır.

Hizmet Connections Ayrıca, var olan bir kaynağa erişimi açmaya çalışırken ve yeterli haklara sahip değilseniz, bu kaynak için erişimi açma yetkiniz yok iletisini alırsınız.

İşlem Hattı İzinleri

İşlem Hatları REST API'sinde Güvenlik geliştirmeleri

Azure DevOps'taki REST API'lerin çoğu kapsamlı PAT belirteçlerini kullanır. Ancak, bazıları tam kapsamlı PAT belirteçleri gerektirir. Başka bir deyişle, bu API'lerden bazılarını kullanmak için 'Tam erişim' öğesini seçerek bir PAT belirteci oluşturmanız gerekir. Bu belirteçler herhangi bir REST API'yi çağırmak için kullanılabileceğinden güvenlik riski oluşturur. Her REST API'yi belirli bir kapsama ekleyerek tam kapsamlı belirteç gereksinimini ortadan kaldırmak için Azure DevOps genelinde iyileştirmeler yapıyoruz. Bu çabanın bir parçası olarak, bir kaynağın işlem hattı izinlerini güncelleştirmek için REST API artık belirli bir kapsam gerektirir. Kapsam, kullanım için yetkilendirilen kaynağın türüne bağlıdır:

  • Code (read, write, and manage) türünde kaynaklar için repository
  • Agent Pools (read, manage) veya Environment (read, manage) ve türüne queue sahip kaynaklar için agentpool
  • Secure Files (read, create, and manage) türünde kaynaklar için securefile
  • Variable Groups (read, create and manage) türünde kaynaklar için variablegroup
  • Service Endpoints (read, query and manage) türünde kaynaklar için endpoint
  • Environment (read, manage) türünde kaynaklar için environment

İşlem hattı izinlerini toplu olarak düzenlemek için tam kapsamlı bir PAT belirtecine ihtiyacınız olacaktır. Kaynaklar için İşlem Hattı izinlerini güncelleştirme hakkında daha fazla bilgi edinmek için İşlem Hattı İzinleri - Kaynaklar için İşlem Hattı İzinlerini Güncelleştirme belgelerine bakın.

Aracı havuzları için ayrıntılı erişim yönetimi

Aracı havuzları, işlem hatlarınızın üzerinde çalıştığı makineleri belirtmenize ve yönetmenize olanak sağlar.

Daha önce özel bir aracı havuzu kullandıysanız, hangi işlem hatlarının erişebileceğini yönetmek kaba ayrıntılıydı. Tüm işlem hatlarının bunu kullanmasına izin verebilir veya her işlem hattının izin istemesini isteyebilirsiniz. Ne yazık ki, aracı havuzuna işlem hattı erişimi izni verdikten sonra işlem hatları kullanıcı arabirimini kullanarak iptal edebilirsiniz.

Azure Pipelines artık aracı havuzları için ayrıntılı bir erişim yönetimi sağlar. Bu deneyim, Service Connections işlem hattı izinlerini yönetmeye yönelik deneyime benzer.

Onaylarda Yapılan Değişiklikler için FabrikamFiber Aracı Havuzu

Tüm işlem hatlarına korumalı kaynaklara erişim verilmesini engelleme

Hizmet bağlantısı veya ortam gibi korumalı bir kaynak oluşturduğunuzda, Tüm işlem hatlarına erişim izni ver onay kutusunu seçebilirsiniz. Şimdiye kadar bu seçenek varsayılan olarak işaretlendi.

Bu işlem hatlarının yeni korumalı kaynakları kullanmasını kolaylaştırsa da bunun tersi, yanlışlıkla çok fazla işlem hattına kaynağa erişim hakkı verilmesini tercih ediyor olmasıdır.

Varsayılan olarak güvenli bir seçeneği yükseltmek için Azure DevOps artık onay kutusunu işaretsiz bırakır.

Tüm işlem hatlarına erişim izni verme ayarı varsayılan olarak kapalıdır

Kısa gizli diziler için maskelemayı devre dışı bırakma özelliği

Azure Pipelines, günlüklerdeki gizli dizileri maskeler. Gizli diziler gizli dizi olarak işaretlenen değişkenler, Azure Key Vault bağlı değişken gruplarından değişkenler veya Hizmet Bağlantısı sağlayıcısı tarafından gizli dizi olarak işaretlenmiş bir Hizmet Bağlantısı öğeleri olabilir.

Gizli dizi değerinin tüm oluşumları maskelenir. '', '12', 'Dev' gibi kısa gizli dizilerin maskelenmesi, değerlerinin tahminini kolaylaştırır; örneğin bir tarih: 'Jan 3, 202***'
Artık "3" bir sır olduğu açık. Böyle durumlarda gizli diziyi tamamen maskelememenizi tercih edebilirsiniz. Değeri gizli dizi olarak işaretlemek mümkün değilse (örneğin, değer Key Vault alınmışsa), düğmeyi AZP_IGNORE_SECRETS_SHORTER_THAN en fazla 4 değerine ayarlayabilirsiniz.

Düğüm çalıştırıcı indirme görevi

Node 6 görev çalıştırıcısını dışlayan aracı sürümlerini benimserken, zaman zaman daha yeni bir Node çalıştırıcısı kullanmak üzere güncelleştirilmemiş görevleri çalıştırmanız gerekebilir. Bu senaryo için Düğüm Kullanım Süresi Sonu çalıştırıcılarına bağımlı görevleri kullanmaya devam etmek için bir yöntem sunuyoruz. Bkz. Düğüm çalıştırıcı kılavuzu blog gönderisi.

Aşağıdaki görev, Node 6 çalıştırıcısını tam zamanında yüklemek için bir yöntemdir ve bu nedenle eski bir görev yürütülebilir:

  steps:
  - task: NodeTaskRunnerInstaller@0
    inputs:
      runnerVersion: 6

TFX Düğüm çalıştırıcı doğrulaması güncelleştirildi

Görev yazarları uzantıları yayımlamak için uzantı paketleme aracını (TFX) kullanır. TFX, Node runner sürümlerinde doğrulama gerçekleştirecek şekilde güncelleştirildi. Bkz. Düğüm çalıştırıcı kılavuzu blog gönderisi.

Node 6 çalıştırıcısını kullanan görevleri içeren uzantılar şu uyarıyı görür:

Task <TaskName> is dependent on a task runner that is end-of-life and will be removed in the future. Authors should review Node upgrade guidance: https://aka.ms/node-runner-guidance.

İşlem Hattı aracılarında Node 6'nın el ile ön yükleme yönergeleri

Aracı akışını kullanıyorsanız pipeline- , aracıya Node 6 eklenmez. Bir Market görevinin hala Node 6'ya bağımlı olduğu ve aracının NodeTaskRunnerInstaller görevini kullanamadığı bazı durumlarda (ör. bağlantı kısıtlamaları nedeniyle), Node 6'yı bağımsız olarak önceden yüklemeniz gerekir. Bunu yapmak için Node 6 çalıştırıcısını el ile yükleme yönergelerine göz atın.

İşlem hattı görev değişiklik günlüğü

İşlem Hattı görevlerinde yapılan değişiklikleri artık bu değişiklik günlüğünde yayımlıyoruz. Bu, yerleşik İşlem Hattı görevlerinde yapılan değişikliklerin tam listesini içerir. Önceki değişiklikleri geriye dönük olarak yayımladık, dolayısıyla değişiklik günlüğü geçmişteki görev güncelleştirmelerinin kaydını da sunar.

Yayın görevleri Microsoft Graph API kullanır

Yayın görevlerimizi Microsoft Graph API kullanacak şekilde güncelleştirdik. Bu, AAD Graph API kullanımını görevlerimizden kaldırır.

görev performansını iyileştirmeyi Windows PowerShell

İşlem hattında otomasyon tanımlamak için görevleri kullanabilirsiniz. Bu görevlerden biri, işlem hattınızda PowerShell betikleri yürütmenize olanak tanıyan yardımcı görevdir PowerShell@2 . Azure ortamını hedeflemek için PowerShell betiğini kullanmak için görevi kullanabilirsiniz AzurePowerShell@5 . İlerleme güncelleştirmelerini yazdırabilen bazı PowerShell komutları, örneğin Invoke-WebRequest, artık daha hızlı yürütülür. Bu komutların birçoğu betiğinizde varsa veya uzun süre çalışıyorsa geliştirme daha önemlidir. Bu güncelleştirmeyle, progressPreference ve görevlerinin PowerShell@2 özelliği artık varsayılan olarak olarak ayarlanır SilentlyContinueAzurePowerShell@5.

.NET 6 üzerinde Pipelines Aracısı v3

İşlem hattı aracısı çalışma zamanı olarak .NET 3.1 Core'un .NET 6'ya kullanılması için yükseltildi. Bu, Hem Apple Silikon hem de Windows Arm64 için yerel destek sağlar.

.NET 6'nın kullanılması, aracı için sistem gereksinimlerini etkiler. Özellikle, şu İşletim Sistemleri için desteği bırakıyoruz: CentOS 6, Fedora 29-33, Linux Mint 17-18, Red Hat Enterprise Linux 6. Aracı yazılımı sürüm 3'ün belgelerine bakın.

Bu betik , desteklenmeyen işletim sistemlerine sahip aracıları kullanan işlem hatlarını tanımlamak için kullanılabilir.

Önemli

Yukarıdaki işletim sistemlerinden herhangi birinde çalışan aracıların .NET 6 tabanlı aracıyı kullanıma sunduğumuzda artık güncelleştirilmeyeceklerini veya başarısız olacağını unutmayın.

Aracı VM uzantısında aracı sürümünü belirtme

Azure VM'leri, VM Uzantısı kullanılarak Dağıtım Gruplarına eklenebilir. VM uzantısı isteğe bağlı olarak yüklenecek istenen aracı sürümünü belirtecek şekilde güncelleştirildi:

    "properties": {
      ...
      "settings": {
        ...
        "AgentMajorVersion": "auto|2|3",
        ...
      },
      ...
     }

Klasik işlem hatlarının oluşturulmasını denetlemek için yeni geçişler

Azure DevOps artık klasik derleme işlem hatları, klasik yayın işlem hatları, görev grupları ve dağıtım gruplarının oluşturulmasını devre dışı bırakarak proje koleksiyonunuzun yalnızca YAML işlem hatlarını kullandığından emin olmanıza olanak tanır. Mevcut klasik işlem hatlarınız çalışmaya devam eder ve bunları düzenleyebilirsiniz, ancak yeni işlem hatları oluşturamazsınız.

Azure DevOps artık klasik derleme işlem hatları, klasik yayın işlem hatları, görev grupları ve dağıtım gruplarının oluşturulmasını devre dışı bırakarak kuruluşunuzun yalnızca YAML işlem hatlarını kullandığından emin olmanıza olanak tanır. Mevcut klasik işlem hatlarınız çalışmaya devam eder ve bunları düzenleyebilirsiniz, ancak yeni işlem hatları oluşturamazsınız.

İlgili geçiş düğmelerini açarak klasik işlem hatlarının proje koleksiyonu düzeyinde veya proje düzeyinde oluşturulmasını devre dışı bırakabilirsiniz. Geçişler Proje / Proje Ayarları - İşlem Hatları ->> Ayarlar'da bulunabilir. biri klasik derleme işlem hatları, diğeri klasik yayın işlem hatları, dağıtım grupları ve görev grupları için iki geçişli geçiş vardır.

Klasik işlem hatlarının oluşturulmasını devre dışı bırakma

Geçiş durumu varsayılan olarak kapalıdır ve durumu değiştirmek için yönetici haklarına ihtiyacınız olacaktır. Geçiş düğmesi kuruluş düzeyinde açıksa, devre dışı bırakma tüm projeler için zorlanır. Aksi takdirde, her proje devre dışı bırakmanın zorunlu kılınıp uygulanmayacağını seçebilir.

Klasik işlem hatlarının oluşturulması devre dışı bırakıldığında klasik işlem hatları, görev grupları ve dağıtım grupları oluşturmayla ilgili REST API'leri başarısız olur. YAML işlem hatları oluşturan REST API'ler çalışır.

"Çalışma aşaması durumu değiştirildi" hizmet kancası olayına Güncelleştirmeler

Hizmet kancaları, Azure DevOps'ta projenizde olaylar gerçekleştiğinde görevleri diğer hizmetlerde çalıştırmanıza olanak tanır; Çalıştırma aşaması durumu değişti bu olaylardan biridir. Çalıştırma aşaması durumu değiştirildi olayı, işlem hattının adı da dahil olmak üzere çalıştırma hakkında bilgi içermelidir. Daha önce, yalnızca çalıştırmanın kimliği ve adı hakkındaki bilgileri içeriyor. Bu güncelleştirmeyle, eksik bilgileri eklemek için olayda değişiklikler yaptık.

İşlem hattı çalıştırması için son işleme iletisini göstermeyi devre dışı bırakma

Daha önce, işlem hattının çalıştırmasını görüntülerken son işleme iletisini göstermek için kullanılan İşlem Hatları kullanıcı arabirimi.

Son işleme iletisi örneği

Örneğin, YAML işlem hattınızın kodu, derlediğinden farklı bir depoda bulunduğunda bu ileti kafa karıştırıcı olabilir. her işlem hattı çalıştırmasının başlığına en son işleme iletisini eklemeyi etkinleştirmek/devre dışı bırakmak için bir yol istediğimizi Geliştirici Topluluğu geri bildiriminizi aldık.

Bu güncelleştirmeyle, tam olarak bunu yapmanızı sağlayan adlı appendCommitMessageToRunNameyeni bir YAML özelliği ekledik. Varsayılan olarak özelliği olarak trueayarlanır. olarak falseayarladığınızda işlem hattı çalıştırması yalnızca öğesini BuildNumbergörüntüler.

Derleme numarasıyla işlem hattı çalıştırma örneği

Son işleme iletisiyle işlem hattı çalıştırma örneği

En fazla 4 MB Azure Resource Manager (ARM) şablonu boyutuyla uyumlu olacak şekilde azure işlem hattı sınırları artırıldı.

Azure altyapısı oluşturmak için Azure Resource Manager Şablon Dağıtımı görevini kullanabilirsiniz. Geri bildiriminize yanıt olarak, 2 MB olan Azure Pipelines tümleştirme sınırını 4 MB'a çıkardık. Bu, büyük şablonların tümleştirilmesi sırasında boyut kısıtlamalarını çözmek için ARM Şablonları en fazla 4 MB boyutuyla uyumlu hale getirir.

İşlem hattı çalıştırma durumuna genel bakış simgesi

Bu sürümle, işlem hattı çalıştırmasının genel durumunu öğrenmeyi kolaylaştırıyoruz.

Birçok aşaması olan YAML işlem hatları için, işlem hattı çalıştırmasının durumunu bilmek zor olurdu, yani hala çalışıyor mu yoksa bitti mi? Ve tamamlandıysa, genel durum nedir: başarılı, başarısız veya iptal edildi. Bu sorunu, çalıştırma durumuna genel bakış simgesi ekleyerek düzeltildi.

İşlem hattı çalıştırma durumuna genel bakış simgesi

İşlem hattı aşamaları yan paneli

YAML işlem hatlarının onlarca aşaması olabilir ve bunların tümü ekranınıza sığmaz. İşlem hattı çalıştırmasına genel bakış simgesi çalıştırmanızın genel durumunu bildirirken, örneğin hangi aşamanın başarısız olduğunu veya hangi aşamanın hala çalıştığını bilmek yine de zordur.

Bu sürümde, tüm aşamalarınızın durumunu hızlı bir şekilde görmenizi sağlayan işlem hattı aşamaları yan paneli ekledik. Ardından bir aşamaya tıklayıp doğrudan onun günlüklerine ulaşabilirsiniz.

İşlem Hatlarını Güncelleştirme

İşlem hatları kullanıcı arabirimi güncelleştirmeleri

Yan panelde aşamaları arama

Aşamalar yan panelinde aradığınız aşamaları bulmayı kolaylaştırdık. Artık, çalışma aşamaları veya el ile müdahale gerektiren aşamalar gibi durumlarına göre aşamaları hızla filtreleyebilirsiniz. Aşamaları adlarına göre de arayabilirsiniz.

AZ İşlem Hatlarını Güncelleştirme

Hızlı işlemleri hazırlama

İşlem hattının Çalıştırmalar ekranı, tüm çalıştırma aşamalarına hızlı erişim sağlar. Bu sürümde, her aşama için eylem gerçekleştirebileceğiniz aşamalar paneli ekledik. Örneğin, başarısız işleri kolayca yeniden çalıştırabilir veya tüm aşamayı yeniden çalıştırabilirsiniz. Panel, aşağıdaki ekran görüntüsünde görebileceğiniz gibi tüm aşamalar kullanıcı arabirimine sığmadığında kullanılabilir.

Çok fazla aşama içeren işlem hattının ekran görüntüsü. Aşamalar sütununda '+' işaretine tıkladığınızda aşamalar paneli gösterilir ve ardından aşama eylemleri gerçekleştirebilirsiniz.

Aşamalar panelinin ekran görüntüsü.

Kullanıcı deneyimi geliştirmelerini denetler

Denetim günlüklerini okumayı kolaylaştırıyoruz. Denetim günlükleri, dağıtımınızın başarısı için kritik bilgiler sağlar. Bir iş öğesi biletini kapatmayı unuttuysanız veya ServiceNow'da bir bileti güncelleştirmeniz gerektiğini size söyleyebilirler. Daha önce, bir denetimin bu kadar kritik bilgiler sağladığını bilmek zor oldu.

İşlem hattı çalıştırma ayrıntıları sayfasında en son denetim günlüğü gösterilir. Bu yalnızcaönerilen kullanımımıza uygun denetimler içindir.

En son denetim günlüğünü gösteren resim. Yanlışlıkla onaylanan Onayları önlemek için, Azure DevOps onaylayanlara yönergeler'i onaylayanlara gösterir ve işlem hattı çalıştırmasının ayrıntı sayfasındaki yan paneli denetler .

İşlem hattı gözden geçirme görüntüsü bekleniyor.

Denetimi devre dışı bırakma

Hata ayıklama denetimlerini daha az yorucu hale getirdik. Bazen Azure İşlevi Çağırma veya REST API Çağırma denetimi düzgün çalışmaz ve bunu düzeltmeniz gerekir. Daha önce, bir dağıtımı yanlışlıkla engellemelerini önlemek için bu tür denetimleri silmeniz gerekiyordu. Denetimi düzelttikten sonra, gerekli tüm üst bilgilerin ayarlandığından veya sorgu parametrelerinin doğru olduğundan emin olarak denetimi geri eklemeniz ve doğru şekilde yapılandırmanız gerekiyordu. Bu çok sıkıcı.

Artık bir denetimi devre dışı bırakabilirsiniz. Devre dışı bırakılan denetim sonraki denetim paketi değerlendirmelerinde çalışmaz.

Denetim görüntüsünü devre dışı bırakın. Hatalı denetimi düzeltdikten sonra etkinleştirebilirsiniz.

Denetim görüntüsünü etkinleştirin.

İşlem Hatları Rest API'sini Çalıştırır'da tüketilen kaynaklar ve şablon parametreleri

Genişletilmiş İşlem Hatları ÇalıştırmaLARı REST API'sinde artık bir işlem hattı çalıştırması tarafından kullanılan daha fazla yapıt türü ve bu çalıştırmayı tetiklemede kullanılan parametreler döndürülür. API'yi, işlem hattı çalıştırmasında container kullanılan ve pipeline kaynaklarını ve şablon parametrelerini döndürecek şekilde geliştirdik. Artık, örneğin, bir işlem hattı tarafından kullanılan depoları, kapsayıcıları ve diğer işlem hattı çalıştırmalarını değerlendiren uyumluluk denetimleri yazabilirsiniz.

Burada yeni yanıt gövdesinin bir örneği verilmiştir.

"resources":
{
    "repositories":
    {
        "self":
        {
            "repository":
            {
                "id": "e5c55144-277b-49e3-9905-2dc162e3f663",
                "type": "azureReposGit"
            },
            "refName": "refs/heads/main",
            "version": "44153346ecdbbf66c68c20fadf27f53ea1394db7"
        },
        "MyFirstProject":
        {
            "repository":
            {
                "id": "e5c55144-277b-49e3-9905-2dc162e3f663",
                "type": "azureReposGit"
            },
            "refName": "refs/heads/main",
            "version": "44153346ecdbbf66c68c20fadf27f53ea1394db7"
        }
    },
    "pipelines":
    {
        "SourcePipelineResource":
        {
            "pipeline":
            {
                "url": "https://dev.azure.com/fabrikam/20317ad0-ae49-4588-ae92-6263028b4d83/_apis/pipelines/51?revision=3",
                "id": 51,
                "revision": 3,
                "name": "SourcePipeline",
                "folder": "\\source"
            },
            "version": "20220801.1"
        }
    },
    "containers":
    {
        "windowscontainer":
        {
            "container":
            {
                "environment":
                {
                    "Test": "test"
                },
                "mapDockerSocket": false,
                "image": "mcr.microsoft.com/windows/servercore:ltsc2019",
                "options": "-e 'another_test=tst'",
                "volumes":
                [
                    "C:\\Users\\fabrikamuser\\mount-fabrikam:c:\\mount-fabrikam"
                ],
                "ports":
                [
                    "8080:80",
                    "6379"
                ]
            }
        }
    }
},
"templateParameters":
{
    "includeTemplateSteps": "True"
}

YAML düzenleyicisinde Genel Kullanılabilirlik şablonu desteği

Şablonlar YAML işlem hatlarında yaygın olarak kullanılan bir özelliktir. Bunlar işlem hattı parçacıklarını paylaşmanın kolay bir yoludur. Ayrıca, işlem hattınız aracılığıyla güvenlik ve idareyi doğrulama veya zorunlu kılma konusunda güçlü bir mekanizmadır.

Azure Pipelines, işlem hattınızı düzenlerken yararlı olabilecek bir YAML düzenleyicisini destekler. Ancak düzenleyici şimdiye kadar şablonları desteklemedi. YAML işlem hatlarının yazarları şablon kullanırken IntelliSense aracılığıyla yardım alamadı. Şablon yazarları YAML düzenleyicisini kullanamadı. Bu sürümde, YAML düzenleyicisinde şablonlar için destek ekliyoruz.

Ana Azure Pipelines YAML dosyanızı düzenlerken şablon ekleyebilir veya genişletebilirsiniz . Şablonunuzun adını yazdığınızda, şablonunuzu doğrulamanız istenir. Doğrulandıktan sonra YAML düzenleyicisi, giriş parametreleri de dahil olmak üzere şablonun şemasını anlar.

İşlem Hatları REST API Güncelleştirmeler

Doğrulama sonrasında şablona gitmeyi seçebilirsiniz. YAML düzenleyicisinin tüm özelliklerini kullanarak şablonda değişiklik yapabilirsiniz.

Bilinen sınırlamalar vardır:

  • Şablonda ana YAML dosyasında giriş olarak sağlanmayan gerekli parametreler varsa doğrulama başarısız olur ve sizden bu girişleri sağlamanızı ister. İdeal bir deneyimde doğrulama engellenmemeli ve intellisense kullanarak giriş parametrelerini doldurabilmeniz gerekir.
  • Düzenleyiciden yeni şablon oluşturamazsınız. Yalnızca mevcut şablonları kullanabilir veya düzenleyebilirsiniz.

Önceden tanımlanmış yeni sistem değişkeni

Değeri derleme işlem hattı tanımının klasör yolu olan adlı Build.DefinitionFolderPath, önceden tanımlanmış yeni bir sistem değişkeni kullanıma sunulmuştur. değişkeni hem YAML hem de klasik derleme işlem hatlarında kullanılabilir.

Örneğin, işlem hattınız Azure Pipelines'daki klasörün altında FabrikamFiber\Chat yer alırsa değeri Build.DefinitionFolderPath olur FabrikamFiber\Chat.

YAML şablon ifadelerinde dize bölme işlevi için destek ekleme

YAML işlem hatları, bir listenin değeri veya bir nesnenin özelliği arasında each döngü yapma gibi kod yinelemesini azaltmanın kolay yollarını sağlar.

Bazen, yinelenmek üzere öğeler kümesi bir dize olarak temsil edilir. Örneğin, dağıtılacak ortamların listesi dizesi integration1, integration2tarafından tanımlandığında.

Geliştirici Topluluğu geri bildirimlerinizi dinlediğimizde YAML şablon ifadelerinde bir dize split işlevi istediğinizi duyduk.

Artık bir dize oluşturabilir split ve alt dizelerini yineleyebilirsiniz each .

variables:
  environments: integration1, integration2

jobs:
  - job: Deploy
    steps:
    - ${{ each env in split(variables.environments, ', ') }}:
      - script: ./deploy.sh -e ${{ env }}
      - script: ./runTest.sh -e ${{ env }}

Depo Kaynak Tanımında Şablon İfadeleri

YAML işlem hattındaki bir repository kaynağın ref özelliğini tanımlarken şablon ifadeleri için destek ekledik. Bu, Geliştirici Topluluğu tarafından çok istenen bir özellikti.

İşlem hattınızın aynı depo kaynağının farklı dallarını kullanıma almalarını istediğiniz kullanım örnekleri vardır.

Örneğin, kendi deposunu oluşturan bir işlem hattınız olduğunu ve bunun için kaynak deposundan bir kitaplığı kullanıma alması gerektiğini varsayalım. Ayrıca işlem hattınızın kendi kullandığı kitaplık dalını kullanıma almalarını istediğinizi varsayalım. Örneğin, işlem hattınız dalda main çalışıyorsa kitaplık deposunun main dalını kullanıma almalıdır. İşlem hatları dalda dev çalışıyorsa kitaplık dalını dev kullanıma almalıdır.

Bugüne kadar kullanıma alınacak dalı açıkça belirtmeniz ve dal her değiştiğinde işlem hattı kodunu değiştirmeniz gerekiyordu.

Artık bir depo kaynağının dalını seçmek için şablon ifadelerini kullanabilirsiniz. İşlem hattınızın ana dalları dışındaki dallar için kullanılacak aşağıdaki YAML kodu örneğine bakın:

resources:
  repositories:
    - repository: library
      type: git
      name: FabrikamLibrary
      ref: ${{ variables['Build.SourceBranch'] }}

steps:
- checkout: library
- script: echo ./build.sh
- script: echo ./test.sh

İşlem hattını çalıştırdığınızda deponun kullanıma alınacağını dalını library belirtebilirsiniz.

Derleme sırası zamanında genişletecek şablonun sürümünü belirtme

Şablonlar , kod çoğaltmayı azaltmanın veişlem hatlarınızın güvenliğini geliştirmenin harika bir yolunu temsil eder.

Popüler kullanım örneklerinden biri, şablonları kendi depolarında depolamaktır. Bu, bir şablonla onu genişleten işlem hatları arasındaki bağlamayı azaltır ve şablonu ve işlem hatlarını bağımsız olarak geliştirmeyi kolaylaştırır.

Bir adım listesinin yürütülmesini izlemek için bir şablonun kullanıldığı aşağıdaki örneği göz önünde bulundurun. Şablon kodu depoda Templates bulunur.

# template.yml in repository Templates
parameters:
- name: steps
  type: stepList
  default: []

jobs:
- job:
  steps:
  - script: ./startMonitoring.sh
  - ${{ parameters.steps }}
  - script: ./stopMonitoring.sh

Depoda FabrikamFiberbulunan bu şablonu genişleten bir YAML işlem hattınız olduğunu varsayalım. Bugüne kadar, depoyu şablon kaynağı olarak kullanırken depo kaynağının templates özelliğini dinamik olarak belirtmek ref mümkün değildi. Bu, işlem hattınızın farklı bir daldan şablon genişletmesini istiyorsanız işlem hattının kodunu değiştirmeniz gerektiği anlamına geliyordu: İşlem hattınızı hangi dalı çalıştırdığınızdan bağımsız olarak, şablonu farklı bir daldan genişletme işlem hattınızla aynı dal adından bir şablonu genişletme

Depo kaynak tanımına şablon ifadelerinin eklenmesiyle işlem hattınızı aşağıdaki gibi yazabilirsiniz:

resources:
  repositories:
    - repository: templates
      type: git
      name: Templates
      ref: ${{ variables['Build.SourceBranch'] }}

extends:
  template: template.yml@templates
  parameters:
    steps:
      - script: echo ./build.sh
      - script: echo ./test.sh

Bunu yaptığınızda, işlem hattınız şablonu işlem hattının çalıştığı dalla aynı dalda genişletir, böylece işlem hattınızın ve şablon dallarınızın her zaman eşleştiğinden emin olabilirsiniz. Başka bir ifadeyle, işlem hattınızı bir dalda devçalıştırırsanız, deponun dalındaki devtemplates dosya tarafından template.yml belirtilen şablonu genişletir.

Ya da aşağıdaki YAML kodunu yazarak derleme sırasında hangi şablon deposu dalını kullanacağınızı seçebilirsiniz.

parameters:
  - name: branch
    default: main

resources:
  repositories:
    - repository: templates
      type: git
      name: Templates
      ref: ${{ parameters.branch }}

extends:
  template: template.yml@templates
  parameters:
    steps:
      - script: ./build.sh
      - script: ./test.sh

Artık işlem hattınızın daldaki main bir şablonu bir çalıştırmada daldan dev genişletmesini ve işlem hattınızın kodunu değiştirmeden başka bir çalıştırmadaki daldan main bir şablonu genişletmesini sağlayabilirsiniz.

Bir depo kaynağının ref özelliği için şablon ifadesi belirtirken, önceden tanımlanmış değişkenleri ve sistem kullanabilirsiniz parameters , ancak YAML veya pipelines kullanıcı arabirimi tanımlı değişkenleri kullanamazsınız.

Kapsayıcı Kaynak Tanımında Şablon İfadeleri

YAML işlem hattındaki bir container kaynağın endpoint, volumes, portsve options özelliklerini tanımlarken şablon ifadeleri için destek ekledik. Bu, Geliştirici Topluluğu tarafından çok istenen bir özellikti.

Artık YAML işlem hatlarını aşağıdaki gibi yazabilirsiniz.

parameters:
  - name: endpointName    
    default: AzDOACR
    type: string

resources:
  containers:
    - container: linux
      endpoint: ${{ parameters.endpointName }}
      image: fabrikamfiber.azurecr.io/ubuntu:latest

jobs:
- job:
  container: linux
  steps:
  - task: CmdLine@2
    inputs:
      script: 'echo Hello world'

şablon ifadelerinizde ve variables. kullanabilirsinizparameters.. Değişkenler için yalnızca YAML dosyasında tanımlananları kullanabilirsiniz, ancak İşlem Hatları kullanıcı arabiriminde tanımlananları kullanamazsınız. Örneğin aracı günlük komutlarını kullanarak değişkeni yeniden tanımlarsanız, bunun hiçbir etkisi olmaz.

Zamanlanmış derleme geliştirmeleri

İşlem hattının zamanlama bilgilerinin bozulmasına ve işlem hattının yüklenmemesine neden olan bir sorunu düzeltildi. Örneğin, dalın adı belirli sayıda karakteri aştığında bunun nedeni budur.

İşlem hatlarını yükleyemediğinde geliştirilmiş hata iletisi

Azure Pipelines, işlem hattınızın nasıl başlayacağını yapılandırmak için çeşitli tetikleyici türleri sağlar. İşlem hattını çalıştırmanın bir yolu, zamanlanmış tetikleyicileri kullanmaktır. Bazen, bir işlem hattının Zamanlanmış Çalıştırma bilgileri bozulur ve yükün başarısız olmasına neden olabilir. Daha önce, işlem hattının bulunamadığını iddia eden yanıltıcı bir hata iletisi görüntülüyorduk. Bu güncelleştirmeyle bu sorunu çözdük ve bilgilendirici bir hata iletisi döndüreceğiz. Bundan sonra şuna benzer bir ileti alırsınız: İşlem hattı yüklenemediğinde derleme zamanlaması verileri bozulur .

Git deposunu getirirken etiketleri eşitlemeyin

Kullanıma alma görevi, Git deposunun içeriğini getirirken seçeneğini kullanır--tags. Bu, sunucunun hem tüm etiketleri hem de bu etiketler tarafından işaret edilen tüm nesneleri getirmesine neden olur. Bu, özellikle de çok sayıda etiket içeren büyük bir deponuz varsa, görevi işlem hattında çalıştırma süresini artırır. Ayrıca, kullanıma alma görevi, sığ getirme seçeneğini etkinleştirdiğinizde bile etiketleri eşitler ve böylece amacını yenebilir. Git deposundan getirilen veya çekilen veri miktarını azaltmak için, artık etiketleri eşitleme davranışını denetlemek için göreve yeni bir seçenek ekledik. Bu seçenek hem klasik hem de YAML işlem hatlarında kullanılabilir.

Bu davranış YAML dosyasından veya kullanıcı arabiriminden denetlenebilir.

Etiketleri YAML dosyası aracılığıyla eşitlemeyi geri çevirmek için öğesini kullanıma alma adımına ekleyin fetchTags: false . fetchTags Seçenek belirtilmediğinde, kullanılanla fetchTags: true aynıdır.

steps:
- checkout: self  # self represents the repo where the initial Pipelines YAML file was found
  clean: boolean  # whether to fetch clean each time
  fetchTags: boolean # whether to sync the tags
  fetchDepth: number  # the depth of commits to ask Git to fetch
  lfs: boolean  # whether to download Git-LFS files
  submodules: boolean | recursive  # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
  path: string  # path to check out source code, relative to the agent's build directory (e.g. \_work\1)
  persistCredentials: boolean  # set to 'true' to leave the OAuth token in the Git config after the initial fetch

Mevcut YAML işlem hatlarının davranışını değiştirmek istiyorsanız, YAML dosyasını güncelleştirmek yerine kullanıcı arabiriminde bu seçeneği ayarlamak daha kullanışlı olabilir. Kullanıcı arabirimine gitmek için işlem hattının YAML düzenleyicisini açın, Tetikleyiciler'i, ardından İşlem'i ve ardından Kullanıma Alma adımını seçin.

Bu ayarı hem YAML dosyasında hem de kullanıcı arabiriminde belirtirseniz, YAML dosyasında belirtilen değer öncelikli olur.

Oluşturduğunuz tüm yeni işlem hatları (YAML veya Klasik) için etiketler varsayılan olarak eşitlenir. Bu seçenek mevcut işlem hatlarının davranışını değiştirmez. Yukarıda açıklandığı gibi seçeneği açıkça değiştirmediğiniz sürece etiketler bu işlem hatlarında eşitlenir.

Artifacts

Varsayılan akış izinleri güncelleştirildi

Proje Koleksiyonu Derleme Hizmeti hesapları artık geçerli Katkıda Bulunan rolü yerine yeni bir proje koleksiyonu kapsamlı Azure Artifacts akışı oluşturulduğunda varsayılan olarak Ortak Çalışan rolüne sahip olacaktır.

Daha önce, akışın bir kopyasına sahipseniz yukarı akış paketlerini görebiliyordu. Sorun, yukarı akışta bulunan ve henüz akışa kaydedilmemiş paketleri arayamamanızdı. Artık yeni akış kullanıcı arabirimiyle kullanılabilir yukarı akış paketlerini arayabilirsiniz.

Azure Artifacts artık yukarı akış kaynaklarınızdaki paketleri aramanızı ve paket sürümlerini akışınıza kaydetmenizi sağlayan bir kullanıcı arabirimi sağlar. Bu, Microsoft'un ürün ve hizmetlerimizi geliştirme hedefiyle uyumlu hale geliyor.

Raporlama

Sorgu Sonuçları Pencere Öğesinde Üst Öğeyi Göster

Sorgu Sonuçları Pencere Öğesi artık üst öğe adını ve bu üst öğeye doğrudan bir bağlantıyı destekliyor.

Market'e dağıtmak için kişisel erişim belirteçleri oluşturma

Panoyu Kopyala

Bu sürümle birlikte Panoyu Kopyala'yı da dahil ediyoruz.

Panoyu kopyalayarak resim

Panoların Son Erişim Tarihi ve Değiştirme Tarihi

Ekiplerin çeşitli panolar oluşturmasına izin vermenin zorluklarından biri, eski ve kullanılmayan panoları yönetmek ve temizlemektir. Bir panonun en son ne zaman ziyaret edildiği veya değiştirildiğini bilmek, hangilerinin kaldırılabilir olduğunu anlamanın önemli bir parçasıdır. Bu sürümde Panolar dizin sayfasına iki yeni sütun eklemiş olduk. Son Erişim Tarihi , panonun en son ziyaret edildiği tarihi izler. Değiştiren , panonun en son ne zaman ve kim tarafından düzenlendiğini izler.

Değiştiren bilgileri pano sayfasının kendisinde de görüntülenir.

Pano Önizlemesi

Bu yeni alanların, proje yöneticilerinin panoların kaldırılması veya kaldırılmaması durumunda eğitilmiş bir karar vermeleri için etkinlik düzeyini anlamasına yardımcı olacağını umuyoruz.

Analiz Görünümleri kullanıma sunuldu

Analiz Görünümleri özelliği, ürünün barındırılan sürümünde uzun bir süre önizleme durumundadır. Bu sürümle birlikte, bu özelliğin artık tüm proje koleksiyonları tarafından kullanılabildiğini duyurmaktan mutluluk duyuyoruz.

Gezintide Analiz görünümleriGenel Bakış sekmesinden Panolar sekmesine taşındı.

Panolar gezintisinde analiz görünümü.

Analiz görünümü, Analiz verilerini temel alan bir Power BI raporu için filtre ölçütlerini belirtmek için basitleştirilmiş bir yol sağlar. Analiz Görünümleri hakkında bilginiz yoksa, sizi yakalamaya yönelik bazı belgeler aşağıdadır:

Birden çok depo için Çekme İsteği pencere öğesi kullanıma sunuldu

Birden çok depo için Çekme İsteği pencere öğesinin Azure DevOps Server 2022.1'de kullanıma sunulduğunu duyurmaktan heyecanlıyız. Bu yeni pencere öğesiyle, 10 farklı depodan gelen çekme isteklerini tek, kolaylaştırılmış bir listede zahmetsizce görüntüleyebilir ve çekme isteklerinizin her zamankinden daha kolay olmasını sağlayabilirsiniz.

Ga'ya birden çok depo pencere öğesi

Topluluk öneri bileti

Yazma ve yazma grafiklerinde tamamlandı olarak çözümlenen giriş

Grafiklerde tamamlanan çözümlenmiş öğeler de dahil olmak üzere ekip ilerleme durumunu doğru yansıtmanın önemini anlıyoruz. Basit bir geçiş seçeneğiyle artık çözümlenen öğeleri tamamlandı olarak görüntülemeyi seçerek ekibin işlenme durumunun gerçek bir yansımasını sağlayabilirsiniz. Bu geliştirme, daha doğru izleme ve planlama sağlar ve ekiplerin gerçek ilerlemeye göre bilinçli kararlar almalarını sağlar. Raporlama'daki güncelleştirilmiş yazma ve yazma grafikleriyle gelişmiş saydamlık ve daha iyi içgörüler elde edin.

Açılan ve açılan grafiklerde tamamlandı olarak çözümlenen tanıtım amaçlı gif.

Wiki

Wiki sayfalarında ek diyagram türleri desteği

Wiki sayfalarında kullanılan denizkızı grafiklerinin sürümünü 8.13.9 sürümüne yükselttik. Bu yükseltmeyle artık Azure DevOps wiki sayfalarınıza aşağıdaki diyagramları ve görselleştirmeleri ekleyebilirsiniz:

  • Akış Çizelgesi
  • Sıralı diyagramlar
  • Gantt grafikleri
  • Pasta grafikleri
  • Gereksinim diyagramları
  • Durum diyagramları
  • Kullanıcı Yolculuğu

Varlık İlişkisi ve Git Graph gibi deneysel modda olan diyagramlar dahil değildir. Yeni özellikler hakkında daha fazla bilgi için lütfen mermaid sürüm notları bölümüne bakın.


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şı