Aracılığıyla paylaş


Gelişmiş güvenlik ve boruhattı iş akışları

Bu sprint ile DevOps iş akışınızı daha fazla güvenlik görünürlüğü ve kolaylaştırılmış işlem hattı iş akışlarıyla geliştiriyoruz. GitHub Advanced Security artık bağımlılık taraması için ayrıntılı etkinleştirme izleme, kod tarama ve kuruluşunuzun güvenlik kapsamı hakkında daha ayrıntılı içgörüler sunan gizli dizi taramaiçerir.

Ayrıca, yeni YAML ifade işlevleri ve el ile doğrulama görevlerine yönelik genişletilmiş denetimler de dahil olmak üzere işlem hattı odaklı iyileştirmeler sunarak daha verimli ve güvenli iş akışları oluşturmanıza olanak sağlamak için heyecanlıyız.

Ayrıntılar için sürüm notlarına göz atın.

Azure DevOps için GitHub Gelişmiş Güvenliği

Azure Boards:

  • Veri Yerleşimi ile GitHub Enterprise Cloud ile Azure Boards Tümleştirmesi

Azure Repositories

Azure Pipelines

Test Planları

Azure DevOps için GitHub Gelişmiş Güvenliği

Araca özgü güvenlik genel bakışı değerlendirmesi

Azure DevOps için GitHub Gelişmiş Güvenliği'ndeki güvenliğe genel bakış, artık bağımlılık tarama, kod taramave gizli dizi taramadahil olmak üzere her tarama aracı için etkinleştirme durumunun ayrıntılı dökümünü sağlar. Bu geliştirme, kuruluşunuzdaki tüm depolarda ayrıntılı etkinleştirme durumlarını görüntülemenizi sağlar.

Güvenliğe genel bakış ekran görüntüsü. ekran görüntüsü

Daha fazla bilgi için gelişmiş güvenlik için,Güvenlik genel bakışına bakın.

Azure Boards

Azure Boards ve GitHub Enterprise Cloud'un Veri Yerleşimi ile Entegrasyonu (Önizleme)

Not

Bu özellik şu anda önizleme aşamasındadır. GitHub Enterprise Cloud ve Veri Yerleşimi ile Boards tümleştirmesini denemekle ilgileniyorsanız lütfen bizi e-posta ile bilgilendirin.

Azure Boards artık veri yerleşimi etkinleştirilmiş GitHub Enterprise Cloud kuruluşlarıyla entegrasyonu destekliyor. Bu güncelleştirme, GitHub'ın Eylül 2024 duyurusuna Avrupa Birliği'ndeki (AB) müşterilerden başlayarak Enterprise Cloud müşterileri için veri yerleşimini tanıtmayla uyumludur.

Azure Boards projesini veri yerleşimi ile GitHub Enterprise Cloud kuruluşunuza bağlamak için:

  1. Azure Boards'ta yeni bir bağlantı oluşturun.

Github'ı panolara bağlama ekran görüntüsü. bağlama ekran görüntüsü

  1. GitHub Enterprise Cloud seçeneğini veri yerleşimi seçeneğiyle seçin.

Yeni github bağlantısının ekran görüntüsü. ekran görüntüsü

Azure Kaynak Kod Depoları

Azure Repos için seyrek kullanıma alma

git sparse-checkout komutu, deposu çıkış performansını iyileştirmek amacıyla kısmi kopyalama filtresiile birlikte artık YAML checkout işlemi tarafından desteklenmektedir. sparseCheckoutDirectories ve sparseCheckoutPatternsözelliklerini kullanabilirsiniz.

sparseCheckoutDirectories ayarı, çıkış sürecinin dizin eşleştirmeyi kullandığı koni modunu etkinleştirir. Alternatif olarak, koni olmayan modu tetikleyen ve daha karmaşık desen eşleştirmeye olanak tanıyan sparseCheckoutPatterns ayarlayabilirsiniz.

Her iki özellik de ayarlanırsa, aracı dizin eşleştirmesi ile koni modunu başlatır. Kullanıma alma görevinde hiçbir özellik belirtilmezse seyrek kullanıma alma işlemi devre dışı bırakılır. Komut yürütme sırasında karşılaşılan sorunlar, kontrol görevinin başarısızlıkla sonuçlanmasına neden olur.

Seyrek kontrol koni modu için YAML örneği:

    checkout: repo
    sparseCheckoutDirectories: src

YAML örneği için seyrek çözümleme konik olmayan mod:


   checkout: repo
   sparseCheckoutPatterns: /* !/img 

Önemli

Seyrek checkout özelliği, aracı v3.248.0 (.NET 8 için v4.248.0) veya sonraki sürümleri gerektirir.

Aracıyı yayınlar sayfası'te bulabilirsiniz.

Depolar arası politikaları büyük/küçük harfe duyarlı hale getir

Daha önce, depolar arası politikalar için dal aday önizlemesi, dal eşleşmeleri büyük/küçük harfe duyarlı olmasına rağmen büyük/küçük harfe duyarlı olmayan bir şekilde sonuçları görüntülemişti. Bu tutarsızlık, bazı dalların korunmuyorken korunuyormuş gibi görünebileceği için olası bir uyumsuzluğa neden oldu. Bu sorunu çözmek için dal deseni önizlemesini ilke uygulamasının büyük/küçük harfe duyarlı davranışıyla uyumlu olacak şekilde güncelleştirdik.

Önceden:

Sonra:

Düzeltme sonrası ekran görüntüsü. ekran görüntüsü

Azure Pipelines

Yeni boru hattı ifade işlevleri

İşlem hattı ifade işlevleri, güçlü YAML işlem hatları yazmanızı sağlar. Bu sprint'te iki yeni işlev kullanıma sunulmuştur:

  • iif(condition, value_when_true, value_when_false), conditiontrue veya value_when_falseolarak değerlendirildiğinde value_when_true döner, aksi takdirde

  • başındaki ve sonundaki boşlukları kaldırarak yeni bir dize döndüren trim(string)

Örneğin, iif işlevini kullanarak işlem hattınızı çalıştırmak üzere dinamik olarak bir havuz seçebilirsiniz. Azure Pipelines havuzunu kullanarak pull request'ler oluşturmak istiyorsanız, ancak diğer tüm çalıştırmalar için Yönetilen DevOps havuzu kullanılması gerekiyorsa, aşağıdaki işlem hattını yazabilirsiniz.

variables:
  poolToUse: ${{ iif(eq(variables['Build.Reason'], 'PullRequest'), 'Azure Pipelines', 'ManagedDevOpsPool')}}

stages:
- stage: build
  pool: ${{variables.poolToUse}}
  jobs:
  - job:
    steps:   
    - task: DotNetCoreCLI@2
      inputs:
        command: 'build'

YAML'nizi kullanıcı girişine karşı daha dayanıklı hale getirmek için trim işlevini kullanabilirsiniz. Örneğin, aşağıdaki işlem hattında, aşama adının boşluklarla başlamadığından emin olmak için trim işlevini kullanırız.

parameters:
- name: regions
  type: string
  default: '  wus1,   wus2, wus3,wus4'

stages:
- ${{ each region in split(parameters.regions, ',')}}:
  - stage: stage_${{trim(region)}}
    displayName: Deploy to ${{trim(region)}}
    jobs:
    - job: deploy
      steps:
      - script: ./deploy.sh ${{trim(region)}}

Manuel Doğrulama görevindeki geliştirmeler

ManualValidation görevi, işlem hattı sürecini duraklatmanızı ve el ile müdahale için beklemenizi sağlar. Bu görevi kullanmak için bir senaryo el ile testtir.

İşlem hattınızın güvenliğini artırmak için, görevi kimlerin tamamlayıp işlem hattı çalıştırmasını sürdürebileceğini kısıtlamak isteyebilirsiniz. Bu amaçla, görevin iki ek parametre sağlayan yeni bir sürümünü kullanıma sunuyoruz:

  • approvers: Görevi kimlerin tamamlayabileceğini önceden tanımlanmış bir kullanıcı / güvenlik grubu / ekip kümesiyle kısıtlayın

  • allowApproversToApproveTheirOwnRuns: İşlem hattı çalıştırmasını kuyruğa alan kullanıcının çalıştırmayı devam ettirmesine kısıtla

Örneğin, aşağıdaki YAML kod parçacığı, işlem hattı çalışmasını sürdürebilen kişi kümesini Yayın Onaylayanlar grubunun üyeleriyle sınırlandırır, ancak bu sınırlandırma, işlem hattı çalıştırmasını tetikleyen kullanıcıyı kapsamaz.

- task: ManualValidation@1
  inputs:
    notifyUsers: 'Release Approvers'
    approvers: 'Release Approvers'
    allowApproversToApproveTheirOwnRuns: false

approvers özelliğinde aşağıdaki değerleri (virgülle ayrılmış) kullanabilirsiniz:

  • E-posta adresi,
  • İzin Grubu
  • Proje Ekibi,
  • [ProjectName][İzin Grubu],
  • [Kuruluş][İzin Grubu],
  • [ProjectName][Proje Ekibi]

Test Planları

Azure Test Planları hata düzeltmeleri

Bu sprint ile çeşitli hataları çözmek ve kullanılabilirliği geliştirmek için Azure Test Planlarına güncelleştirmeler yaptık. Düzeltilmiş olan şu şekildedir:

  • Paylaşılan adım sonuçları görünür: Yeni Boards Hub'daki test durumlarına erişildiğinde paylaşılan adım sonuçlarının sorgu düzenleyicisinde görünmemesine neden olan bir hata düzeltildi.

  • Geliştirilmiş paydaş modu oturumları: Proje katılımcısı erişimi olan kullanıcıların oturum başlatmasını engelleyen test ve geri bildirim uzantısında bir sorun çözüldü.

  • Daha Temiz Test Planı Kopyalama: "Mevcut Test Çalışmalarına Başvur" seçeneği kullanılarak test planı kopyalandığında ihtiyaçların yinelenmesi sorunu düzeltildi.

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

Ayrıca Stack Overflowüzerinde topluluk tarafından öneriler ve sorularınıza yanıt alabilirsiniz.

Teşekkürler

Silviu Andrica