Azure DevOps Server 2022 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'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 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 RC1 Sürüm Tarihi: 9 Ağustos 2022

Azure DevOps Server 2022'deki Yeniliklerin Özeti

Önemli

Ambar ve Analiz Hizmeti, Azure DevOps Server'nin önceki sürümünde (2020) kullanım dışı bırakılmıştır. Azure DevOps Server 2022'de Ambar ve Analiz Hizmeti üründen kaldırıldı. Analiz artık ürün içi raporlama deneyimi sağlar.

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

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


Boards

Teslim Planları

Teslimat Planlarının artık Azure DevOps Server dahil olduğunu duyurmaktan heyecanlıyız. Teslim Planları 3 temel senaryo sunar:

  • Planın zaman çizelgesi görünümü
  • İşin ilerleme durumu
  • Bağımlılık İzleme

Ana özellikler aşağıdadır. Filtreleme, İşaretçiler ve Alan Ölçütleri de Teslimat Planlarının bir parçasıdır.

İki ana görünüm vardır: daraltılmış ve genişletilmiş

Teslim Planları 2.0, başlangıç ve hedef tarihleri veya yineleme tarihlerini kullanarak planınızdaki tüm iş öğelerinin zaman çizelgesinde görüntülenmesini sağlar. Öncelik sırası, başlangıç & hedef tarihleri ve ardından yinelemedir. Bu, genellikle yinelemeye tanımlanmayanPic gibi portföy düzeyinde iş öğeleri eklemenize olanak tanır.

İki ana görünüm vardır : sıkıştırılmış görünüm ve genişletilmiş görünüm. Planın ight-hand tarafındaki büyütece tıklayarak da planı yakınlaştırabilir ve uzaklaştırabilirsiniz.

İki ana görünüm vardır : sıkıştırılmış görünüm ve genişletilmiş görünüm. Planın sağ tarafındaki büyütece tıklayarak da planı yakınlaştırabilir ve uzaklaştırabilirsiniz.

  • Daraltılmış Görünüm

    Daraltılmış görünüm, tüm iş öğesi kartlarının daraltılmış olduğunu gösterir; bu da tüm kart bilgilerinin gösterilmediği anlamına gelir. Bu görünüm, plandaki çalışmanın genel görünümü için kullanışlıdır. Kart alanlarını daraltmak için, planın sağ tarafındaki büyüteç simgelerinin yanındaki kart simgesine tıklayın.

    Aşağıda, daraltılmış ve genişletilmiş görünümler arasında geçiş yapmaya yönelik bir plan örneği verilmiştir.

    Daraltılmış görünümü tanıtıma gif.

  • Genişletilmiş Görünüm

    Genişletilmiş görünüm, alt öğe ve bağlantılı öğelerin sayısını sayarak ve tamamlanma yüzdesini göstererek bir iş öğesinin ilerleme durumunu gösterir. Şu anda ilerleme, iş öğesi sayısı tarafından belirlenir.

    Genişletilmiş görünüm kullanan bir plan örneği aşağıda verilmiştir. İlerleme çubuklarına ve tamamlanma yüzdesine dikkat edin.

    Genişletilmiş görünüm kullanan plan örneği

Bağımlılık İzleme

Bağımlılık izleme, iş öğelerinde tanımlanan öncül ve ardıl bağlantıları temel alır. Bu bağlantılar tanımlanmamışsa bağımlılık çizgileri görüntülenmez. bir iş öğesinde bağımlılık sorunu olduğunda, bağımlılık bağlantısı simgesi kırmızı renktedir.

Bağımlılıkları göstermek için kırmızı renkli bağımlılık simgesiyle bağımlılık izleme

  • Bağımlılıkları Görüntüleme

    Belirli bağımlılıklar, yön de dahil olmak üzere ilgili iş öğesinin tüm bağımlılıklarını gösteren bağımlılık panelinde görüntülenir. Kırmızı ünlem işareti bağımlılık sorununu gösterir. Paneli açmak için kartın sağ üst köşesindeki bağımlılık bağlantısı simgesine tıklamanız yeterlidir. Bağımlılık örnekleri aşağıda verilmiştir.

    Bağımlılıkları görüntüleme örneği

    Bağımlılıkları görüntülemeye bir diğer örnek

  • Bağımlılık Çizgileri

    İş öğeleri arasındaki bağımlılıklar, ilgili iş öğeleri arasındaki yön ok çizgileriyle görselleştirilir. Birden çok bağımlılık birden çok satır olarak görüntülenir. Kırmızı renkli çizgi bir sorunu gösterir.

    Aşağıda bazı örnekler verilmiştir.

    Bağımlılıklar, ilgili iş öğeleri arasındaki yön ok çizgileriyle görselleştirilmiş iş öğeleri

    Aşağıda, birden çok bağımlılığı olan ve daraltılmış görünüm kullanılarak da çalışan bir iş öğesi örneği verilmiştir.

    Daraltılmış görünümde birden çok bağımlılığı olan bir iş öğesi örneği

    Bir sorun olduğunda, çizgi rengi kırmızıdır ve bağımlılık simgesi de öyledir.

    Aşağıda bir örnek verilmiştir.

    Birden çok bağımlılığı olan bir iş öğesi örneği

Kart Stili

Kartlar artık Kanban panoları gibi kurallar kullanılarak stillendirilebilir. Plan ayarlarını açın ve Stiller'e tıklayın. Stiller bölmesinde + Stil kuralı ekle'ye tıklayarak kuralı ekleyin ve ardından Kaydet'e tıklayın. En fazla 10 kural olabilir ve her kuralın en fazla 5 yan tümcesi olabilir.

Stil oluşturma ayarları

  • Önce

Daha önce kart stili oluşturma

  • Sonra

Sonrasında kart stili oluşturma

Teslim Planları hakkında daha fazla bilgi edinmek için buradaki belgelere göz atın.

İş Öğeleri Merkezi'ne kaldırılan öğeler

İş Öğeleri Merkezi, oluşturduğunuz veya size atanan öğelerin listesini görebileceğiniz yerdir. İş öğelerini listelemeyi kolaylaştırmak için çeşitli kişiselleştirilmiş özet ve filtre işlevleri sağlar. Bana atanan özetinin en önemli şikayetlerinden biri, kaldırılan iş öğelerini görüntülemesidir. Kaldırılan iş öğelerinin artık değere sahip olmadığını ve kapsam içinde olmaması gerektiğini kabul ediyoruz. Bu sprint'te, tüm Kaldırılan öğeleri İş Öğeleri Merkezi'ndeki Bana atanan görünümlerinden gizleyeceğiz.

bir iş öğesinin geliştirme bölümünde ilgili işlemelerin ve çekme isteklerinin listesi gösterilir. İşleme veya çekme isteğinin yazarıyla ilişkili zamanı görüntüleyebilirsiniz. Bu güncelleştirmeyle, yazarın avatarın görünümde yanlış görüntülenmesiyle ilgili bir sorunu düzeltildi.

İş öğesi geçmişinden silinmiş bir eki indirme özelliğini kaldırma

Kullanıcıların, ek formdan kaldırıldıktan sonra bile iş öğesi geçmişinden ekleri indirebilmesine neden olan küçük bir sorun düzeltildi. Artık ek kaldırıldıktan sonra geçmişten indirilemez ve indirme URL'si REST API yanıtından kullanılamaz.

Hata nedeni alanına "Düzeltilmeyecek" değeri eklendi

Diğer tüm iş öğesi türlerinde olduğu gibi Hata iş öğesi türünün de iyi tanımlanmış bir iş akışı vardır. Her iş akışı üç veya daha fazla Durumdan ve bir Nedenden oluşur. Nedenler, öğenin neden bir Durumdan diğerine geçtiğini belirtir. Bu güncelleştirmeyle, Çevik işlemindeki Hata iş öğesi türleri için Bir Düzeltilmeyecek neden değeri ekledik. Değer, Hataları Yeni veya Etkin'den Çözümlenmiş'e taşırken bir neden olarak kullanılabilir. Yazılım hatalarını tanımlama, yakalama, önceliklendirme ve yönetme hakkında daha fazla bilgiyi Azure Boards belgelerde bulabilirsiniz.

Pipelines

Klasik derlemelerde işlem hattı başına bekletme ilkelerini kaldırma

Artık Azure DevOps proje ayarlarında hem klasik derlemeler hem de YAML işlem hatları için bekletme ilkeleri yapılandırabilirsiniz. Klasik derleme işlem hatları için işlem hattı başına saklama kuralları artık desteklenmemektedir. YAML işlem hatları için bekletmeyi yapılandırmanın tek yolu bu olsa da, klasik derleme işlem hatları için saklamayı işlem hattı temelinde de yapılandırabilirsiniz. Gelecek bir sürümde klasik derleme işlem hatları için tüm işlem hattı başına saklama kurallarını kaldırdık.

Bunun sizin için anlamı: eskiden işlem hattı başına saklama kurallarına sahip olan tüm klasik derleme işlem hatları proje düzeyinde saklama kurallarına tabi olacaktır.

Yükseltme sırasında hiçbir derlemeyi kaybetmediğinizden emin olmak için, yükseltme sırasında var olan ve kirası olmayan tüm derlemeler için bir kira oluşturacağız.

Yükseltmeden sonra proje düzeyinde saklama ayarlarını denetlemenizi öneririz. İşlem hattınız özel kurallar gerektiriyorsa, işlem hattınızda özel bir görev kullanabilirsiniz. Bir görev aracılığıyla bekletme kiraları ekleme hakkında bilgi için derlemeler, yayınlar ve testler için bekletme ilkelerini ayarlama belgelerine bakın.

İşlem hatlarındaki ortam değişkenleri için yeni denetimler

Azure Pipelines aracısı, özel günlük komutları için standart çıkışı tarar ve yürütür. KomutusetVariable bir değişken ayarlamak veya önceden tanımlanmış bir değişkeni değiştirmek için kullanılabilir. Bu, sistem dışındaki bir aktör tarafından kötüye kullanılabilir. Örneğin, işlem hattınızda ftp sunucusundaki dosyaların listesini yazdıran bir adım varsa, ftp sunucusuna erişimi olan bir kişi, adında komutun bulunduğu ve işlem hattının setVariable davranışını değiştirmesine neden olan yeni bir dosya ekleyebilir.

İşlem hattında günlüğe kaydetme komutunu kullanarak değişkenleri ayarlamayı kullanan birçok kullanıcımız var. Bu sürümle birlikte komutun istenmeyen kullanım setVariable riskini azaltmak için aşağıdaki değişiklikleri yapıyoruz.

  • Görev yazarları için yeni bir yapı ekledik. bir görev yazarı, içinde task.jsonaşağıdaki gibi bir kod parçacığı ekleyerek, herhangi bir değişkenin görevi tarafından ayarlandığını denetleyebilir.
{
    "restrictions": {
        "commands": {
            "mode": "restricted"
        },
        "settableVariables": {
            "allowed": [
                "myVar",
                "otherVar"
            ]
        }
    },
}​ 
  • Ayrıca, ssh gibi bir dizi yerleşik görevi, bu görevlerden yararlanılamayacak şekilde güncelleştiriyoruz.

  • Son olarak, bir adımın değişkenleri ayarlayıp ayarlayamayacağını denetlemek için YAML yapılarını kullanabilirsiniz.

steps:
- script: echo hello
  target:
    settableVariables: none
steps:
- script: echo hello
  target:
    settableVariables:
    - things
    - stuff

Çatal derlemeleri için sınırsız belirteç oluşturma

GitHub Enterprise kullanıcıları genellikle bir yukarı akış deposuna katkıda bulunmak için çatalları kullanır. Azure Pipelines bir GitHub Enterprise deposunun çatalından katkılar oluşturduğunda, iş erişim belirtecine verilen izinleri kısıtlar ve işlem hattı gizli dizilerine bu tür işler tarafından erişilmesine izin vermez. Çatal oluşturma güvenliği hakkında daha fazla bilgiyi belgelerimizde bulabilirsiniz.

Bu, kullanıcıların iç kaynak işbirliği modelinden yararlanmaya devam ettiği kapalı ortamlarda istenenden daha kısıtlayıcı olabilir. Bir işlem hattında gizli dizileri çatalların kullanımına açmak için bir ayar yapılandırabilirsiniz ancak iş erişim belirteci kapsamını denetleme ayarı yoktur. Bu sürümle, çatal derlemeleri için bile düzenli bir iş erişim belirteci oluşturma denetimi veriyoruz.

Bu ayarı işlem hattı düzenleyicisindeki Tetikleyiciler'den değiştirebilirsiniz. Bu ayarı değiştirmeden önce, bu yapılandırmayı etkinleştirmenin güvenlik etkilerini tam olarak anladığınızdan emin olun.

Çatal derlemeleri için sınırsız belirteç oluşturma

YAML işlem hatlarında korumalı kaynak olarak depolar

Azure DevOps projenizi, her biri kendi Azure DevOps Git deposuna ve bir veya daha fazla işlem hattına sahip birçok alt projeyi barındıracak şekilde düzenleyebilirsiniz. Bu yapıda, hangi işlem hatlarının hangi depolara erişebileceğini denetlemek isteyebilirsiniz. Örneğin, aynı projede iki A ve B deponuz ve normalde bu depoları oluşturan iki X ve Y işlem hattına sahip olduğunuzu varsayalım. İşlem hattı Y'nin A deposuna erişmesini engellemek isteyebilirsiniz. Genel olarak, A'ya katkıda bulunanların erişim sağlamak istedikleri işlem hatlarını denetlemesini istersiniz.

Azure Git depoları ve işlem hatlarında bu kısmen mümkün olsa da, bunu yönetme deneyimi yoktu. Bu özellik bu boşluğu giderir. Azure Git depoları artık hizmet bağlantıları ve aracı havuzları gibi YAML işlem hatlarında korumalı kaynaklar olarak işlenebilir.

A deposuna katkıda bulunan biri olarak deponuza denetimler ve işlem hattı izinleri ekleyebilirsiniz. Bunu yapmak için proje ayarlarına gidin, Depolar'ı ve ardından deponuzu seçin. "Denetimler" adlı yeni bir menüyle karşılaşırsınız. Burada kutu içindeki veya özel denetimlerden herhangi birini Azure işlevleri biçiminde yapılandırabilirsiniz.

Denetim ekleme

"Güvenlik" sekmesinde, depoya erişebilen işlem hatlarının listesini yönetebilirsiniz.

Güvenlik sekmesinde işlem hatları listesini yönetme

YAML işlem hattı her depo kullandığında, Azure Pipelines altyapısı tüm denetimlerin ve izinlerin karşılanmasını doğrular ve güvence altına alır.

Not

Bu izinler ve denetimler yalnızca YAML işlem hatları için geçerlidir. Klasik işlem hatları bu yeni özellikleri tanımaz.

Değişken grupları ve güvenli dosyalar üzerindeki izinler ve denetimler

YAML işlem hatlarında farklı türlerdeki paylaşılan kaynakları kullanabilirsiniz. Örnek olarak hizmet bağlantıları, değişken grupları, güvenli dosyalar, aracı havuzları, ortamlar veya depolar verilebilir. bir işlem hattının kaynağa erişmesini korumak için, kaynağın sahibi izinleri yapılandırabilir ve bu kaynak üzerinde denetim yapabilir. Bir işlem hattı kaynağa erişmeyi her denediğinde, yapılandırılan tüm izinler ve denetimler değerlendirilir. Bu korumalar bir süredir hizmet bağlantılarında, ortamlarda ve aracı havuzlarında kullanılabilir. Depolara yeni eklendiler. Bu sürümle birlikte, değişken gruplarına ve güvenli dosyalara aynı korumaları ekliyoruz.

Bir değişken grubuna veya güvenli dosyaya erişimi küçük bir işlem hattı kümesiyle kısıtlamak için İşlem Hatları izinleri özelliğini kullanın.

Gizli dizi değişkenlerim

İşlem hattı her çalıştığında değerlendirilecek denetimleri veya onayları yapılandırmak için Onaylar ve Kitaplık denetimi özelliğini kullanın.

Denetim onayı ekleme

Ortamların otomatik olarak oluşturulmasındaki değişiklikler

BIR YAML işlem hattı yazdığınızda ve var olmayan bir ortama başvurduğunuz zaman, Azure Pipelines ortamı otomatik olarak oluşturur. Bu otomatik oluşturma işlemi kullanıcı bağlamında veya sistem bağlamında gerçekleşebilir. Aşağıdaki akışlarda Azure Pipelines, işlemi gerçekleştiren kullanıcı hakkında bilgi sahibidir:

  • Azure Pipelines web deneyiminde YAML işlem hattı oluşturma sihirbazını kullanır ve henüz oluşturulmamış bir ortama başvurursunuz.
  • YAML dosyasını Azure Pipelines web düzenleyicisini kullanarak güncelleştirir ve mevcut olmayan bir ortama başvuru ekledikten sonra işlem hattını kaydedersiniz. Yukarıdaki durumların her birinde Azure Pipelines, işlemi gerçekleştiren kullanıcı hakkında net bir anlayışa sahiptir. Bu nedenle ortamı oluşturur ve kullanıcıyı ortamın yönetici rolüne ekler. Bu kullanıcı, ortamı yönetmek ve/veya diğer kullanıcıları ortamı yönetmek için çeşitli rollere dahil etmek için tüm izinlere sahiptir.

Aşağıdaki akışlarda, Azure Pipelines ortamı oluşturan kullanıcı hakkında bilgi içermez: YAML dosyasını başka bir dış kod düzenleyicisi kullanarak güncelleştirir, var olmayan bir ortama başvuru ekler ve ardından sürekli tümleştirme işlem hattının tetiklenmesine neden olursunuz. Bu durumda, Azure Pipelines kullanıcı hakkında bilgi almaz. Daha önce, tüm proje katılımcılarını ortamın yönetici rolüne ekleyerek bu olayı ele aldık. Daha sonra projenin herhangi bir üyesi bu izinleri değiştirebilir ve başkalarının ortama erişmesini engelleyebilir.

Bir projenin tüm üyelerine bir ortamda yönetici izinleri verme hakkındaki geri bildiriminizi aldık. Geri bildirimlerinizi dinlediğimizde, işlemi gerçekleştiren kullanıcının kim olduğu net değilse bir ortamı otomatik olarak oluşturmamamız gerektiğini duyduk. Bu sürümle, ortamların otomatik olarak nasıl oluşturulacağı konusunda değişiklikler yaptık:

  • bundan sonra, işlem hattı çalıştırmaları yoksa ve kullanıcı bağlamı bilinmiyorsa otomatik olarak ortam oluşturmaz. Bu gibi durumlarda işlem hattı Ortam bulunamadı hatasıyla başarısız olur. Ortamları doğru güvenlikle önceden oluşturmanız ve işlem hattında kullanmadan önce yapılandırmayı denetlemeniz gerekir.
  • Bilinen kullanıcı bağlamı olan işlem hatları, geçmişte olduğu gibi ortamları otomatik olarak oluşturmaya devam eder.
  • Son olarak, ortamı otomatik olarak oluşturma özelliğinin yalnızca Azure Pipelines'ı kullanmaya başlama sürecini basitleştirmek için eklendiği belirtilmelidir. Üretim senaryolarına değil test senaryolarına yönelikti. Doğru izinlere ve denetimlere sahip üretim ortamlarını her zaman önceden oluşturmanız ve ardından bunları işlem hatlarında kullanmanız gerekir.

Derleme İşlem Hattı'ndan İçgörüler iletişim kutusu kaldırma

Geri bildiriminize bağlı olarak, iş akışını geliştirmek için Derleme İşlem Hattı'nda gezinirken görüntülenen görev/işlem hattı İçgörüleri iletişim kutusu kaldırıldı. İhtiyacınız olan içgörülere sahip olabilmeniz için işlem hattı analizi hala kullanılabilir.

Yalnızca özel kilit denetimleri kullanılırken en son dağıtımlar yerine sıralı dağıtım desteği

YAML işlem hatlarında, korumalı kaynaklarda aşamaların yürütülmesini denetlemek için denetimler kullanılır. Kullanabileceğiniz yaygın denetimlerden biri özel kilit denetimidir. Bu denetim işlem hattından yalnızca tek bir çalıştırmanın devamını sağlar. Birden çok çalıştırma aynı anda bir ortama dağıtım yapmaya çalıştığında, denetim tüm eski çalıştırmaları iptal eder ve en son çalıştırmanın dağıtılmasına izin verir.

Yayınlarınız toplu olduğunda ve önceki çalıştırmalardan gelen tüm kod değişikliklerini içerdiğinde eski çalıştırmaları iptal etmek iyi bir yaklaşımdır. Ancak, kod değişikliklerinin toplu olmadığı bazı işlem hatları vardır. Bu yeni özellik ile tüm çalıştırmaların devam edip bir ortama sıralı olarak dağıtılmasına izin vermeyi veya eski çalıştırmaları iptal etme ve yalnızca en son çalıştırmalara izin verme önceki davranışını korumayı seçebilirsiniz. İşlem hattı YAML dosyasında adlı lockBehavior yeni bir özellik kullanarak bu davranışı belirtebilirsiniz. değeri sequential , tüm çalıştırmaların kilidi korumalı kaynağa sırayla aldığı anlamına gelir. değeri runLatest , yalnızca en son çalıştırmanın kaynağın kilidini aldığını gösterir.

veya runLatestdağıtımlarıyla sequential özel kilit denetimi kullanmak için şu adımları izleyin:

  1. Ortamda (veya başka bir korumalı kaynakta) özel kullanım kilidi denetimini etkinleştirin.
  2. İşlem hattının YAML dosyasında adlı lockBehavioryeni bir özellik belirtin. Bu işlem hattının tamamı veya belirli bir aşama için belirtilebilir:

Bir aşamada ayarlayın:

stages:
- stage: A
  lockBehavior: sequential
  jobs:
  - job: Job
    steps:
    - script: Hey!

İşlem hattında ayarlayın:

lockBehavior: runLatest
stages:
- stage: A
  jobs:
  - job: Job
    steps:
    - script: Hey!

belirtmezseniz lockBehavior, olduğu varsayılır runLatest.

ServiceNow'un Quebec sürümü 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 Quebec sürümüyle çalışacak şekilde güncelleştirdik. Hem klasik hem de YAML işlem hatları artık Quebec ile çalışıyor. Bu tümleştirmenin çalıştığından emin olmak için Şimdi Hizmet Deposundan uygulamanın yeni sürümüne (4.188.0) yükseltin. Daha fazla bilgi için bkz. ServiceNow Değişiklik Yönetimi ile Tümleştirme.

Yeni YAML koşullu ifadeleri

YAML dosyalarında koşullu ifadeler yazmak, ve ${{ elseif }} ifadelerinin ${{ else }} kullanımıyla artık daha kolay hale geldi. Bu ifadelerin YAML işlem hattı dosyalarında nasıl kullanılacağına yönelik örnekler aşağıda verilmiştir.

steps:
- script: tool
  env:
    ${{ if parameters.debug }}:
      TOOL_DEBUG: true
      TOOL_DEBUG_DIR: _dbg
    ${{ else }}:
      TOOL_DEBUG: false
      TOOL_DEBUG_DIR: _dbg
variables:
  ${{ if eq(parameters.os, 'win') }}:
    testsFolder: windows
  ${{ elseif eq(parameters.os, 'linux' }}:
    testsFolder: linux
  ${{ else }}:
    testsFolder: mac

Yol filtrelerinde joker karakterler desteği

İşlem hattı YAML dosyasında CI veya PR tetikleyicileri için ekleme ve dışlama dalları belirtilirken joker karakterler kullanılabilir. Ancak, yol filtreleri belirtilirken kullanılamazlar. Örneğin, ile eşleşen src/app/**/myapp*tüm yolları ekleyemezsiniz. Bu, birkaç müşteri tarafından rahatsızlık olarak işaret edilmiştir. Bu güncelleştirme bu boşluğu doldurur. Artık yol filtrelerini belirtirken joker karakterler (**, *veya ?) kullanabilirsiniz.

İşlem hatları için varsayılan aracı belirtimi Windows-2022 olacaktır

Görüntü, windows-2022 Azure Pipelines Microsoft tarafından barındırılan windows-latest aracılarda etiket için varsayılan sürüm olmaya hazırdır. Şimdiye kadar bu etiket Windows-2019 aracılarını işaret etti. Bu değişiklik, 17 Ocak'ta başlayan birkaç hafta içinde kullanıma sunulacaktır. Geçişi Mart ayına kadar tamamlamayı planlıyoruz.

Azure Pipelines Eylül 2021'den beri desteklenmektedir windows-2022 . Görüntü kararlılığını geliştirmek windows-2022 için geri bildiriminizi izledik ve şimdi bunu en son olarak ayarlamaya hazırız.

Görüntü Visual windows-2022 Studio 2022'yi içerir. ile windows-2019arasındaki windows-2022 farkların tam listesi için GitHub sorununu ziyaret edin. Görüntüde yüklü yazılımların tam listesi için buraya bakın.

İşlem hattı klasörü yeniden adlandırma izinleri doğrular

İşlem hatlarını içeren klasörler yeniden adlandırılabilir. Bir klasörün yeniden adlandırılması artık ancak kullanıcının klasörde bulunan en az bir işlem hattı üzerinde düzenleme izinlerine sahip olması durumunda başarılı olur.

Pipelines Aracısı çalışma zamanı yükseltme planlaması

İşlem Hattı Aracısı nedir?

Azure DevOps İşlem Hattı Aracısı, işlem hattı işlerini yürütmek için bir işlem hattı ana bilgisayarında çalışan yazılım ürünüdür. Microsoft tarafından barındırılan aracılar, Ölçek Kümesi aracıları ve Şirket İçinde barındırılan aracılar üzerinde çalışır. İkinci durumda kendiniz yüklersiniz. İşlem Hattı Aracısı bir Dinleyici ve Çalışandan (.NET'te uygulanır) oluşur; Çalışan, Node veya PowerShell'de uygulanan görevleri çalıştırır ve bu nedenle bu çalışma zamanlarını onlar için barındırmaktadır.

.NET 6 Red Hat 6'nın & kullanımdan kaldırılmasına yaklaşan yükseltme

.NET 6'nın piyasaya sürülmesiyle, yeni platformlar arası özelliklerinden yararlanabiliriz. Özellikle, Apple Silicon ve Windows Arm64 için yerel uyumluluk sunabileceğiz. Bu nedenle önümüzdeki aylarda İşlem Hattı Aracısı (Dinleyici ve Çalışan) için .NET 6'ya geçmeyi planlıyoruz.

Bunun getirdiği bir dizi kısıtlama nedeniyle, 30 Nisan 2022'de aracımızdan Red Hat Enterprise Linux 6 desteğini bırakıyoruz.

Azure Dosya Kopyalama görevine Güncelleştirmeler

Azure Dosya Kopyalama görevinin yeni bir sürümünü dağıtıyoruz. Bu görev, Microsoft Azure depolama bloblarına veya sanal makinelere (VM) dosya kopyalamak için kullanılır. Yeni sürümde topluluk tarafından sıklıkla istenen çeşitli güncelleştirmeler vardır:

  • AzCopy aracının sürümü, dosya içerik türlerini destekleyen 10.12.2 sürümüne güncelleştirildi. Sonuç olarak, PDF, Excel, PPT veya desteklenen mime türlerinden birini kopyaladığınızda, dosyanın içerik türü doğru ayarlanır.

  • AzCopy'nin yeni sürümüyle, hedef türü Azure Blob olduğunda hedefi temizlemek için bir ayar da yapılandırabilirsiniz. Bu seçeneğin ayarlanması, söz konusu kapsayıcıdaki tüm klasörleri/dosyaları siler. Veya bir blob ön eki sağlanırsa, bu ön ekteki tüm klasörler/dosyalar silinir.

  • Görevin yeni sürümü, AzureRM modülleri yerine aracıya yüklenen Az modüllerini kullanır. Bu, görevi kullanırken bazı durumlarda gereksiz bir uyarıyı kaldırır.

Değişiklikler, bu görevin ana sürüm güncelleştirmesinin bir parçasıdır. Yeni sürümü kullanmak için işlem hatlarınızı açıkça güncelleştirmeniz gerekir. AzureRM modüllerine bağımlı olan işlem hatlarını bozmamak için ana sürümü güncelleştirme seçeneğini kullandık.

İşlem hatları ayrıntıları görünümü için yeni uzantı noktaları

Uzantılarınızda hedefleyebileceğiniz iki yeni genişletilebilirlik noktası ekledik. Bu genişletilebilirlik noktaları, işlem hattı üst bilgisine özel bir düğme ve işlem hattı klasörüne özel menü eklemenize olanak sağlar:

  • İşlem hattı üst bilgisindeki özel düğme: ms.vss-build-web.pipelines-header-menu
  • İşlem hattı klasöründeki özel menü: ms.vss-build-web.pipelines-folder-menu

Bu yeni genişletilebilirlik noktalarını kullanmak için Azure DevOps uzantınızın bildirim dosyasına bunları hedefleyen yeni bir katkı eklemeniz yeterlidirvss-extension.json.

Örnek:

"contributions": [
        {
            "id": "pipelinesFolderContextMenuTestItem",
            "type": "ms.vss-web.action",
            "description": "Custom menu on a pipeline folder",
            "targets": [
                "ms.vss-build-web.pipelines-folder-menu"
            ],
            "properties": {
                "text": "Test item",
                "title": "ms.vss-code-web.source-item-menu",
                "icon": "images/show-properties.png",
                "group": "actions",
                "uri": "main.html",
                "registeredObjectId": "showProperties"
            }
        },
        {
            "id": "pipelinesHeaderTestButton",
            "type": "ms.vss-web.action",
            "description": "Custom button in the pipeline header",
            "targets": [
                "ms.vss-build-web.pipelines-header-menu"
            ],
            "properties": {
                "text": "Test item",
                "title": "ms.vss-code-web.source-item-menu",
                "icon": "images/show-properties.png",
                "group": "actions",
                "uri": "main.html",
                "registeredObjectId": "showProperties"
            }
        }
]

Sonuç şu şekilde olacaktır:

  • İşlem hattı üst bilgisindeki özel düğme

    İşlem hattı üst bilgisindeki özel düğme

  • İşlem hattı klasöründe özel menü

    İşlem hattı klasöründe özel menü

Azure DevOps Services'a geçiş geliştirildi

Azure DevOps Server'den Azure DevOps Services'a bir içeri aktarma çalıştırırken Azure DevOps'un artık işlem hattı başına saklama kurallarını desteklemediğini göz önünde bulundurmanız gerekir. Bu güncelleştirmeyle, şirket içi Azure DevOps Server Azure DevOps Services geçiş yaptığınızda bu ilkeleri kaldırdık. Bekletme ilkelerini yapılandırma hakkında daha fazla bilgi edinmek için derlemeler, sürümler ve testler için bekletme ilkelerini ayarlama belgelerimize bakın.

İşlem Hatlarında REST API Çalıştırmalarına yönelik geliştirme

Daha önce İşlem Hatları REST API'sini çalıştırdığında yalnızca depo döndürülürdü self . Bu güncelleştirmeyle İşlem Hatları REST API'sini çalıştırır, bir derlemenin tüm depo kaynaklarını döndürür.

Genişletilmiş YAML İşlem Hatları şablonları artık aşamalar, işler ve dağıtımlar için bağlam bilgileri geçirilebilir

Bu güncelleştirmeyle, şablonlarla birlikte kullanılması amaçlanacak , deploymentve stage YAML işlem hattı bileşenleri için jobyeni templateContext bir özellik ekliyoruz.

burada kullanmak templateContextiçin bir senaryo vardır:

  • Şablonları kullanarak kod çoğaltmayı azaltır veya işlem hatlarınızın güvenliğini geliştirirsiniz

  • Şablonunuz parametre olarak , jobsveya listesini stagesalırdeployments

  • Şablon giriş listesini işler ve aşamaların, işlerin veya dağıtımların her birinde bazı dönüştürmeler gerçekleştirir. Örneğin, her işin çalıştırıldığı ortamı ayarlar veya uyumluluğu zorunlu kılmak için ek adımlar ekler

  • İşleme, işlem hattı yazarı tarafından listedeki her aşama, iş veya dağıtım için şablona ek bilgilerin geçirilmesini gerektirir

Bir örneğe göz atalım. Çekme isteği doğrulaması için uçtan uca testler çalıştıran bir işlem hattı oluşturduğunuzu varsayalım. Amacınız sisteminizin yalnızca bir bileşenini test etmektir, ancak uçtan uca testler çalıştırmayı planladığınız için, sistemin daha fazla bileşeninin kullanılabildiği bir ortama ihtiyacınız vardır ve bunların davranışını belirtmeniz gerekir.

Diğer ekiplerin de benzer ihtiyaçları olacağını fark ettiğiniz için ortamı bir şablona ayarlama adımlarını ayıklamaya karar verirsiniz. Kodu aşağıdaki gibi görünür:

testing-template.yml

parameters: 
- name: testSet
  type: jobList

jobs:
- ${{ each testJob in parameters.testSet }}:
  - ${{ if eq(testJob.templateContext.expectedHTTPResponseCode, 200) }}:
    - job:
      steps:
        - script: ./createSuccessfulEnvironment.sh ${{ testJob.templateContext.requiredComponents }}
        - ${{ testJob.steps }}
  - ${{ if eq(testJob.templateContext.expectedHTTPResponseCode, 500) }}:
    - job:
      steps:
        - script: ./createRuntimeErrorEnvironment.sh ${{ testJob.templateContext.requiredComponents }}
        - ${{ testJob.steps }}

Şablonun yaptığı şey, parametredeki testSet her iş için ${{ testJob.templateContext.requiredComponents }} tarafından belirtilen sistem bileşenlerinin yanıtını ${{ testJob.templateContext.expectedHTTPResponseCode }} döndürecek şekilde ayarlar.

Ardından, aşağıdaki örnekte olduğu gibi genişleyen testing-template.yml kendi işlem hattınızı oluşturabilirsiniz.

sizeapi.pr_validation.yml

trigger: none

pool:
  vmImage: ubuntu-latest

extends:
  template: testing-template.yml
  parameters:
    testSet:
    - job: positive_test
      templateContext:
        expectedHTTPResponseCode: 200
        requiredComponents: dimensionsapi
      steps:
      - script: ./runPositiveTest.sh
    - job: negative_test
      templateContext:
        expectedHTTPResponseCode: 500
        requiredComponents: dimensionsapi
      steps:
      - script: ./runNegativeTest.sh

Bu işlem hattı, pozitif ve negatif olmak üzere iki test çalıştırır. Her iki test de bileşenin dimensionsapi kullanılabilir olmasını gerektirir. İş positive_test , 200 dönüş HTTP kodunu beklerken dimensionsapinegative_test , 500 HTTP kodunu döndürmesini bekler.

Aracı hizmet hesabı olarak Destek Grubu Yönetilen Hizmet Hesapları

Azure Pipelines aracısı artık Windows'ta şirket içinde barındırılan aracılarda Grup Yönetilen Hizmet Hesaplarını destekliyor.

Grup Tarafından Yönetilen Hizmet Hesapları , hizmet hesabı olarak davranan etki alanı hesapları için merkezi parola yönetimi sağlar. Azure Pipelines Aracısı bu tür bir hesabı tanıyabilir, bu nedenle yapılandırma sırasında parola gerekmez:

.\config.cmd --url https://dev.azure.com/<Organization> `
             --auth pat --token <PAT> `
             --pool <AgentPool> `
             --agent <AgentName> --replace `
             --runAsService `
             --windowsLogonAccount <DOMAIN>\<gMSA>

Bilgilendirme çalıştırmaları

Bilgilendirme amaçlı bir çalıştırma, Azure DevOps'un YAML işlem hattının kaynak kodunu alamadığını bildirir. Böyle bir çalıştırma aşağıdaki gibi görünür.

Son çalıştırma işlem hatları

Azure DevOps, bir YAML işlem hattının kaynak kodunu, örneğin gönderilen işlemeye veya iç tetikleyicilere yanıt olarak kod değişiklikleri olup olmadığını denetlemek ve zamanlanmış çalıştırma başlatıp başlatmamak için alır. Bu adım başarısız olduğunda sistem bilgilendirme amaçlı bir çalıştırma oluşturur. Bu çalıştırmalar yalnızca işlem hattının kodu bir GitHub veya BitBucket deposundaysa oluşturulur.

İşlem hattının YAML kodunu alma işlemi aşağıdaki nedenlerle başarısız olabilir:

  • Kesinti yaşayan depo sağlayıcısı
  • İstek azaltma
  • Kimlik doğrulaması sorunları
  • İşlem hattının .yml dosyasının içeriği alınamıyor

Bilgilendirme çalıştırmaları hakkında daha fazla bilgi edinin.

Derleme Tanımı REST API retentionRules özelliği kullanımdan kaldırıldı

Derleme Tanımı REST API'sininBuildDefinition yanıt türünde özellik retentionRules artık kullanım dışı olarak işaretlenir çünkü bu özellik her zaman boş bir küme döndürür.

Repos

Yeni TFVC sayfaları

Azure DevOps'taki çeşitli sayfaları, deneyimi çeşitli hizmetler genelinde daha tutarlı ve daha erişilebilir hale getirmek amacıyla yeni bir web platformu kullanacak şekilde güncelleştiriyoruz. TFVC sayfaları yeni web platformunu kullanacak şekilde güncelleştirildi. Bu sürümle, yeni TFVC sayfalarını genel kullanıma sunacağız.

Depoları devre dışı bırakma

Müşteriler genellikle depoları devre dışı bırakmak ve kullanıcıların içeriğine erişmesini engellemek için bir yol talep etti. Örneğin, aşağıdaki durumlarda bunu yapmak isteyebilirsiniz:

  • Depoda bir gizli dizi buldunuz.
  • Üçüncü taraf tarama aracı, uyumsuz bir depo buldu.

Böyle durumlarda, sorunu çözmek için çalışırken depoyu geçici olarak devre dışı bırakmak isteyebilirsiniz. Bu güncelleştirmeyle, depo silme izinleriniz varsa bir deposunu devre dışı bırakabilirsiniz. Depoları devre dışı bırakarak:

  • Depoyu depo listesinde listeleyebilir
  • Depo içeriği okunamıyor
  • Depo içeriği güncelleştirilemiyor
  • Azure Repos kullanıcı arabiriminde depoya erişmeye çalıştığında deponun devre dışı bırakıldığını belirten bir ileti görün

Gerekli azaltma adımları gerçekleştirildikten sonra, Depoyu silme iznine sahip kullanıcılar depoyu yeniden etkinleştirebilir. Bir depoyu devre dışı bırakmak veya etkinleştirmek için Proje Ayarları'na gidin, Depolar'ı ve ardından ilgili depoyu seçin.

Depoları devre dışı bırakma

Dal oluşturucularını dallarında "İzinleri yönet" almamak için yapılandırma

Yeni bir dal oluşturduğunuzda, bu dalda "İzinleri yönet" ifadesini alırsınız. Bu izin, diğer kullanıcıların izinlerini değiştirmenize veya söz konusu dala katkıda bulunmaları için ek kullanıcıları kabul etmenizi sağlar. Örneğin, bir dal oluşturucu başka bir dış kullanıcının kodda değişiklik yapmasına izin vermek için bu izni kullanabilir. Veya bir işlem hattının (derleme hizmeti kimliği) bu daldaki kodu değiştirmesine izin verebilir. Uyumluluk gereksinimleri daha yüksek olan bazı projelerde kullanıcılar bu tür değişiklikler yapamamalıdır.

Bu güncelleştirmeyle, ekip projenizdeki depoları ve tüm depoları yapılandırabilir ve dal oluşturucularının "İzinleri yönetme" iznini almalarını kısıtlayabilirsiniz. Bunu yapmak için proje ayarlarına gidin, Depolar'ı ve ardından Tüm depolar veya belirli bir depo için Ayarlar'ı seçin.

Tüm depo ayarları

Bu ayar, mevcut davranışı taklit etmek için varsayılan olarak açıktır. Ancak, bu yeni güvenlik özelliğini kullanmak isterseniz bu özelliği kapatabilirsiniz.

Çatal kullanıcılarının yukarı akış pr'lerinde oy kullanmasını engelleme

Azure Repos ile, bir depoda "okuma" izni olan kullanıcılar depoyu çatallayabilir ve çatallarında değişiklik yapabilir. Kullanıcıların yukarı akışta değişikliklerini içeren bir çekme isteği göndermek için yukarı akışta "çekme isteklerine katkıda bulunma" iznine sahip olması gerekir. Ancak bu izin, yukarı akış deposundaki çekme isteklerine kimlerin oy verebileceğini de yönetir. Sonuç olarak, depoya katkıda bulunan olmayan bir kullanıcının bir çekme isteği gönderebileceği ve dal ilkelerini nasıl ayarladığınıza bağlı olarak birleştirilmesine neden olabileceği durumlarda ortaya çıkabilirsiniz.

İç kaynak modelini yükselten projelerde çatal ve katkıda bulunma yaygın bir desendir. Bu düzenin güvenliğini sağlamak ve daha da yükseltmek için çekme isteğine oy verme iznini "çekme isteklerine katkıda bulunma" yerine "katkıda bulunma" olarak değiştiriyoruz. Ancak, bu değişiklik tüm projelerde varsayılan olarak yapılmaz. Bu izni değiştirmek için kabul etmeniz ve deponuzda "Katı Oy Modu" adlı yeni bir ilke seçmeniz gerekir. Azure Repos çatallara güveniyorsanız bunu yapmanızı öneririz.

Depo ayarları

Raporlama

Grafik pencere öğelerinde bulunan Etiketlere Göre Gruplandır

Etiketlere Göre Gruplandır grafik pencere öğesi artık tüm müşteriler için varsayılan olarak kullanılabilir. Grafik pencere öğesini kullanırken artık etiketler için kullanılabilir bir seçenek vardır. Kullanıcılar, pencere öğesindeki tüm etiketleri veya bir etiket kümesini seçerek bilgilerini görselleştirebilir.


Grafik pencere öğelerinde bulunan Etiketlere Göre Gruplandır

Yazma pencere öğesinde özel iş öğesi türlerini görüntüleme

Daha önce yazma pencere öğesinde yapılandırılan ve özel bir alan tarafından toplanmış veya sayılan özel iş öğesi türlerini göremiyordunuz. Bu güncelleştirmeyle bu sorunu düzelttık ve artık açılır pencere öğesinde özel iş öğesi türlerini görebilirsiniz.

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