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ını gözden geçirin.

Azure Pipelines

Azure Repos

Azure Pipelines

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 için destek

İş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 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 durumu

Katkıda bulunanların derleme doğrulaması öncesinde PR açıklamaları aramayı atlamasına izin verme

Azure Pipelines'ı GitHub depolarıyla kullanırken, çatallanmış bir depodan alınan katkılar için otomatik olarak çekme isteği doğrulama işlem hattı ç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 üyesi olmayan üyelerden kaynaklanan katkılar için de uygulayabilirsiniz.

Bu güncelleştirmeyle, herhangi bir katkıda bulunan tarafından alınan katkılardan çekme isteği yorumu aramayı atlamanıza olanak tanıyacağız. Ekip üyesi olmayan bir üye olarak, bir çatal oluşturduğunuzda ve yukarı akışta bir çekme isteği oluşturduğunuzda, çekme isteğiniz birleştirilene kadar yukarı akış deposuna katkıda bulunan olarak kabul edilmezsiniz. Çekme isteğiniz 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, bu ekip üyesi tarafından yapılan diğer katkılar, çekme isteği açıklamasını 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 görüntü olarak başvurarak windows-2022 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 görüntü olarak başvurarak macos-11 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 derlemelerin oturumlarında zaten bir uyarı var. Herkesin bu değişikliğin farkında olduğundan emin olmak için 2 kısa "kahverengi çizgi" 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 geçirmeniz ö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ı, dallarında "İzinleri yönetme" izni almayacak şekilde 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. Öte yandan, bir işlem hattının (derleme hizmeti kimliği) 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 çatallayabilir 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 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 sonuç alabilirsiniz.

İç kaynak modelini destekleyen kuruluşlarda ç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ğinde oy verme 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ştirmek için kabul etmeniz ve deponuzda "Katı Oy Modu" adlı yeni bir ilke seçmeniz gerekir. Azure Repos'ta çatallara güveniyorsanız bunu yapmanızı öneririz.

Depo ayarları

Sonraki adımlar

Not

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