YAML işlem hattı dosyalarında joker karakterler ve koşullu ifadeler desteği

Bu sprint'te YAML işlem hattı dosyalarına joker karakterler ve koşullu ifadeler desteği dahil ettik. Ayrıca Azure Pipelines tarafından barındırılan görüntülerde birden çok güncelleştirme yaptık.

Ayrıntılar için aşağıdaki özellik açıklamalarına göz atın.

Azure Boru Hatları

Azure Repos

Azure Boru Hatları

Yeni YAML koşullu ifadeleri

YAML dosyalarında koşullu ifadeler yazmak, ve ${{ else }} ifadelerinin ${{ elseif }} 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 karakter 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 bir 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.

Bitbucket'ta birden çok durum için destek

Azure Pipelines, Bitbucket depolarıyla tümleşir ve CI ve PR tetikleyicilerini destekler. Tek bir Bitbucket deposundan birden çok işlem hattı ayarlayabilirsiniz. Ancak bu işlem hatları tamamlandığında Bitbucket'te yalnızca bir durum görebilirsiniz. Geliştirici Topluluğu'ndan bitbucket'te her işlem hattının durumunu ayrı olarak görüntülemeyi isteyen geri bildirim aldık. Bu güncelleştirmeyle, Bitbucket'e yapılan API çağrılarımızı güncelleştirdik ve işlem hattının adı hakkında ek bilgi aktardık.

derleme durumuBuild statusBuild status

Katkıda bulunanların derleme doğrulaması öncesinde PR yorumlarını kontrol etmeyi atlamasına izin ver

Azure Pipelines'ı GitHub depolarıyla kullanırken, çatallanan bir depodan gelen katkılar için otomatik olarak bir PR doğrulama ardışık düzeni çalıştırmamanızı öneririz. Burada en iyi yöntem, önce deponun ortak çalışanlarından birinin değişikliği gözden geçirmesini ve ardından işlem hattını tetikleyecek bir açıklama eklemesini sağlamaktır. İşlem hattı web düzenleyicisinde Tetikleyiciler menüsünü (YAML işlem hatları için) veya Tetikleyiciler sekmesini (klasik derleme işlem hatları için) seçerek bu ayarları yapılandırabilirsiniz. Çataldan gelen her çekme isteğinin ilk olarak bir ekip üyesi tarafından gözden geçirilmesini zorunlu kılmak yerine, bu ilkeyi yalnızca ekip dışı katılımcılardan gelen katkılara uygulayabilirsiniz.

Bu güncellemeyle, herhangi bir katkıcıdan gelen katkılardan PR yorumu aramayı atlamanıza olanak tanıyoruz. Ekip üyesi değilken, bir çatal oluşturup ana deposuna bir çekme isteği gönderdiğinizde, çekme isteğiniz birleştirilene kadar ana depoya katkıda bulunan olarak kabul edilmezsiniz. Katkı talebiniz birleştirildikten sonra katkıda bulunan olarak kabul edilirsiniz. Aşağıda gösterilen yeni seçeneği belirleyerek, ekip üyesi olmayan bir üye çataldan ilk kez çekme isteği gönderdiğinde, ekibinizdeki birinin çekme isteğini gözden geçirmesi ve işlem hattını tetikleyecek bir yorum eklemesi gerekir. Ancak, çekme isteği birleştirildikten sonra, ekip üyesi olmayan bir kullanıcının yaptığı diğer katkılar, çekme isteği yorumu beklemeden işlem hattını doğrudan tetikler.

Çekme isteği oluşturmadan önce ekip üyesinin açıklamasını isteme

Visual Studio 2022 ile Windows Server 2022 artık Microsoft tarafından barındırılan aracılarda kullanılabilir (önizleme)

Windows Server 2022 ve Visual Studio Enterprise 2022 Preview artık Microsoft tarafından barındırılan aracılarda önizlemede kullanılabilir. İşlem hattınızda windows-2022'a görüntü olarak referans vererek bunu kullanabilirsiniz.

pool:
  vmImage: 'windows-2022'

steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
  inputs:
    restoreSolution: '**/*.sln'
- task: VSBuild@1 # Visual Studio 2022 build
  inputs:
    solution: '**/*.sln'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: 'Any CPU'
    configuration: 'Release'

YAML işlem hatlarınızda windows-latest havuzuna başvurdığınızda, bu yine de windows-2022 değil windows-2019 anlamına gelir ve ikincisi önizleme aşamasındadır.

Windows Server 2022 işlem hattı görüntüsü, Windows Server 2019'a kıyasla farklı araçlara ve araç sürümlerine sahiptir. Ayrıntıları yazılım duyurusu sorununda ve belge sanal ortamları deposunda görebilirsiniz.

Microsoft tarafından barındırılan aracılarda macOS 11'in genel kullanılabilirliği

macOS 11 artık Microsoft tarafından barındırılan aracılarda genel kullanıma sunuldu. İşlem hattınızda macos-11'a görüntü olarak referans vererek bunu kullanabilirsiniz.

pool:
  vmImage: macos-11

Microsoft tarafından barındırılan aracılarda Ubuntu 16.04 görüntüsünün kaldırılması

Daha önce duyurulmuş olduğu gibi, 20 Eylül 2021'de Microsoft tarafından barındırılan aracılardan Ubuntu 16.04 görüntüsünü kaldıracağız. Canonical tarafından sunulan geleneksel 5 yıllık Ubuntu 16.04 desteği Nisan 2021'de sona erdi. ubuntu-16.04 işlem hatlarını ubuntu-18.04 veya ubuntu-latest sürümüne geçirmeniz gerekir. Bu işlem Ubuntu 20.04 LTS üzerinde çalışır.

Ubuntu-16.04 kullanan derlemelerde zaten bir uyarı kaydediliyor. Herkesin bu değişikliğin farkında olduğundan emin olmak için 2 kısa "brownout" zamanlandı. Ubuntu 16.04 derlemeleri, kesinti döneminde başarısız olur. Bu nedenle, iş akışlarınızı 6 Eylül 2021'den önce taşımanız önerilir.

Kesintiler şu tarih ve saatler için zamanlanmıştır (Bunların daha önce duyurulan saatlerden itibaren bir saat uzatıldığını unutmayın): 6 Eylül 2021 16:00 UTC – 10:00 UTC 14 Eylül 2021 16:00 UTC – 10:00 UTC

Azure Repos

Yeni TFVC sayfaları genel kullanıma sunuldu

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 ve bu değişiklikler birkaç aydır önizleme aşamasında. Bu güncelleştirme ile yeni TFVC sayfalarını genel kullanıma sunacağız. Bu güncelleştirmeyle artık kullanıcı ayarlarında "Yeni TFVC sayfaları" adlı bir önizleme özelliği görmezsiniz.

Dal oluşturucularını, dallarında "Yönetim izinleri" izni almasınlar diye 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 bu 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. Ya da, bir işlem hattının (build service identity) bu daldaki kodu değiştirmesine izin verebilirler. Uyumluluk gereksinimleri daha yüksek olan bazı kuruluşlarda kullanıcılar bu tür değişiklikler yapamamalıdır.

Bu güncelleştirmeyle, ekip projenizdeki 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 kapatabilirsiniz.

Çatal kullanıcılarının yukarı akış PR'lerinde oylamaya katılmasını engelleme

Azure Repos ile, bir depoda "okuma" izni olan kullanıcılar, depoyu fork (çatallamak) edebilir ve çatallarında değişiklik yapabilir. Kullanıcıların yukarı akışta yaptıkları değişiklikleri 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 bulunmayan 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 yol açabileceği durumlar ortaya çıkabilir.

İç kaynak modelini destekleyen kuruluşlarda fork ve katkıda bulunmak yaygın bir desendir. Bu modeli güvence altına almak ve daha da teşvik etmek için çekme isteğinde oy kullanma iznini "çekme isteklerine katkıda bulunma" yerine "katkıda bulunma" olarak değiştiriyoruz. Ancak, bu değişiklik tüm kuruluşlarda varsayılan olarak yapılmaz. Bu izni değiştirebilmek için öncelikle kabul etmeniz ve deponuzda bulunan "Sıkı Oylama Modu" adlı yeni bir politikayı seçmeniz gerekir. Azure Repos'ta çatallara güveniyorsanız bunu yapmanızı öneririz.

Depo ayarları

Sonraki Adımlar

Uyarı

Bu özellikler önümüzdeki iki-üç hafta içinde kullanıma sunulacaktır.

Azure DevOps'a gidin ve bir göz atın.

Geri bildirim sağlama

Bu özellikler hakkında düşüncelerinizi duymak isteriz. Bir sorunu bildirmek veya öneri sağlamak için yardım menüsünü kullanın.

Öneride bulunma

Stack Overflow'da topluluk tarafından öneriler ve sorularınıza yanıt alabilirsiniz.

Teşekkürler

Aaron Hallberg