Aracılığıyla paylaş


TFVC depolarının oluşturulmasını devre dışı bırakma ayarı

Bu güncelleştirmeyle, TFVC depolarının oluşturulmasını devre dışı bırakmak için yeni bir ayar sunuyoruz. Bu değişiklik, mevcut TFVC depolarınızın etkilenmediğinden emin olurken yeni projelere odaklanır.

Ayrıca Azure Pipelines'da OIDC belirteçleri istemek için yeni bir REST API uç noktasının kullanıma sunulduğunu duyurmaktan heyecan duyuyoruz! Bu, görev geliştiricilerinin Entra Id kimlik doğrulaması için idTokens oluşturmasına olanak sağlayarak güvenliği ve kullanım kolaylığını artırır.

Son olarak, Azure Boards'ta alan ve yineleme yolları artık herhangi bir iş öğesiyle ilişkilendirilmiyorsa silinebilir. Bu iyileştirme kesintileri önler ve ekiplerin panolarına ve kapsamlarına erişimini korumasını sağlar.

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:

Azure Repos

Azure Pipelines

Azure Test Planları:

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

Güvenliğe genel bakış API'leri belgeleri kullanıma sunuldu

Gelişmiş Güvenliğe genel bakış risk sekmesini güçlendiren API belgeleri artık kullanılabilir. Gelişmiş Güvenlik özellikli tüm depolarda uyarı kritikliğinin özetini görüntülemek için uç noktayı /{organization}/_apis/reporting/summary/alerts kullanın. ADO PAT'nizin uyarıları, sonuç örneklerini ve analiz sonucu örneklerini okuma izni veren iznine sahip vso.advsec olduğundan emin olun.

Azure Boards

Alan ve yineleme yollarını silme için değiştirme

Bir alanı veya yineleme yolunu silmek kesintiye neden olabilir. İş öğelerini yeni bir yola taşıyabilir ve ekiplerin panolarına ve kapsamlarına erişimini kaybetmesine neden olabilir. Uyarılara ve istemlere rağmen, yollar bazen sonuçları tam olarak anlamadan silinir. Bu sorunu çözmek için şu davranışı değiştirdik: Alan ve Yineleme yolları artık hiçbir iş öğesi tarafından kullanılmadıysa silinebilir.

Silme alanının ekran görüntüleri.

Azure Repos

TFVC depolarının oluşturulmasını devre dışı bırakmak için yeni ayar

Git, Azure Repos'ta tercih edilen sürüm denetimi sistemi haline geldiği için son yıllarda Team Foundation Sürüm Denetimi'ne (TFVC) yeni özellik eklenmedi. Güvenlik, performans ve erişilebilirlikle ilgili tüm son geliştirmelerin yalnızca Git depolarında yapılması, TFVC kullanımında sürekli bir düşüşe yol açtı. Bazı kişiler hala TFVC'yi kullansa da ve bu özellik kümesini kaldırmayı düşünmesek de, TFVC'yi yeni projeler ve kuruluşların yanı sıra şu anda TFVC kullanılmayan projelerde aşamalı olarak kullanımdan kaldırmayı planlıyoruz.

Bu geçişin bir parçası olarak, yalnızca yeni TFVC depolarının oluşturulmasını etkileyip mevcut depoları etkilemeyecek yeni bir "TFVC deposu oluşturulmasını devre dışı bırak" ayarı sunuyoruz.

Gif to demo TFVC depolarının oluşturulmasını devre dışı bırakın.

Azure Pipelines

Microsoft Entra ID kimlik doğrulamayı kullanarak İşlem Hatlarından Azure Service Bus'a erişme

Artık Azure Pipelines'dan Azure Service Bus'a erişmek için Microsoft Entra Id kimlik doğrulamasını kullanabilirsiniz. Bu sayede gizli dizi yönetimini ve ayrıntılı erişim denetimi için Azure RBAC'yi kaldırmak için İş yükü kimlik federasyonundan yararlanabilirsiniz.

Azure Service Bus'a erişen kimliklere, erişilen Service Bus üzerinde Azure Service Bus için azure yerleşik rollerinden birinin verilmesi gerekir.

görevi PublishToAzureServiceBus@2

Yeni PublishToAzureServiceBus@2 görevleri bir Azure hizmet bağlantısı kullanılarak yapılandırılabilir. Bir Azure hizmet bağlantısı oluşturun ve yeni görevin ve serviceBusNamespace özelliklerini doldurunserviceBusQueueName:

- task: PublishToAzureServiceBus@2
  inputs:
    azureSubscription: my-azure-service-connection
    serviceBusQueueName: my-service-bus-queue
    serviceBusNamespace: my-service-bus-namespace
    useDataContractSerializer: false
    messageBody: |
      {
        "foo": "bar"
      }
Sunucu görevleri

Yürütmeyi kullanan ServiceBus özel sunucu (aracısız) görevler olarak EndpointId bir Azure Hizmet Bağlantısı belirtebilir ve atlayabilir ConnectionString. Bkz. Sunucu görevi yazma.

İş yükü kimliği federasyon kimlik doğrulamasını özelleştirmek için işlem hatları ve görevler değişkenleri doldurur

OIDC belirteçleri istemek için REST API uç noktası artık işlem hattı değişkeninde System.OidcRequestUri kullanılabilir. Görev geliştiricileri, Entra Id ile kimlik doğrulaması için idToken oluşturmak üzere bu değişkenden yararlanabilir.

Azure'a dağıtmak için Market görevlerini veya özel görevleri kullanıyorsanız, bu görevlerin henüz iş yükü kimlik federasyonu desteklemeyebileceğini unutmayın. Görev geliştiricilerinin güvenlik önlemlerini geliştirmek için iş yükü kimlik federasyonuna izin vermelerini öneririz.

oidc işbirliğinin ekran görüntüsü.

task.json giriş alan connectedService:AzureRM görevler, aşağıdaki adımlar izlenerek iş yükü kimlik federasyonu desteği için güncelleştirilebilir:

  • idToken istemek için Oidctoken REST API'sini kullanın (yukarıdaki diyagramda 1. ok).
  • idToken değerini (yukarıdaki diyagramda 2 . ve 4. oklar) belirterek OAuth API'sinin federasyon kimlik bilgisi akışını kullanarak bir erişim belirteci için idToken'i client_assertion değiştirme;
    veya:
  • Kimlik doğrulamasını gerçekleştiren bir aracın çevresinde sarmalayıcı görevi üstlenen görevler için, federasyon belirtecini belirtmek için araçların kimlik doğrulama yöntemini kullanın.

Düğüm görevleri, idToken'i almak için azure-pipelines-tasks-artifacts-common npm paketini kullanabilir. Uygulama ayrıntıları için kod örneğine bakın.

Yeni bir idToken isteme

System.OidcRequestUri ve AzurePowerShell@5 görevlerinde AzureCLI@2 kullanıma sunulan işlem hattı değişkeni ve AZURESUBSCRIPTION_SERVICE_CONNECTION_ID ortam değişkeni, işlem hattı yazarlarının kendi betiğinden kimlik doğrulaması yapmalarına olanak tanır:

PowerShell Az
- task: AzurePowerShell@5
  inputs:
    azureSubscription: 'my-azure-subscription'
    scriptType: inlineScript
    inline: |        
      # Request fresh idToken
      Invoke-RestMethod -Headers @{
                        Authorization  = "Bearer $(System.AccessToken)"
                        'Content-Type' = 'application/json'
                      } `
                      -Uri "${env:SYSTEM_OIDCREQUESTURI}?api-version=7.1&serviceConnectionId=${env:AZURESUBSCRIPTION_SERVICE_CONNECTION_ID}" `
                      -Method Post `
                      | Select-Object -ExpandProperty oidcToken
                      | Set-Variable idToken

    # Fetch current context
    $azContext = Get-AzContext

    # Start new Az session
    Connect-AzAccount -ApplicationId $azContext.Account.Id `
                      -TenantId $azContext.Tenant.Id `
                      -SubscriptionId $azContext.Subscription.Id `
                      -FederatedToken $idToken
Azure CLI
- task: AzureCLI@2
  inputs:
    addSpnToEnvironment: true
    azureSubscription: 'my-azure-subscription'
    scriptType: bash
    scriptLocation: inlineScript
    inlineScript: |
      # Request fresh idToken
      OIDC_REQUEST_URL="${SYSTEM_OIDCREQUESTURI}?api-version=7.1&serviceConnectionId=${AZURESUBSCRIPTION_SERVICE_CONNECTION_ID}"
      ARM_OIDC_TOKEN=$(curl -s -H "Content-Length: 0" -H "Content-Type: application/json" -H "Authorization: Bearer $(System.AccessToken)" -X POST $OIDC_REQUEST_URL | jq -r '.oidcToken')

      # Save subscription context
      ARM_SUBSCRIPTION_ID=$(az account show --query id -o tsv)

      # New az-cli session
      az login --service-principal -u $servicePrincipalId --tenant $tenantId --allow-no-subscriptions --federated-token $ARM_OIDC_TOKEN
      az account set --subscription $ARM_SUBSCRIPTION_ID

Sunucu görevleri için yeniden denemeler

veya InvokeRESTAPIgibi AzureFunction dış sistemleri çağıran sunucu görevleri bazen işlem kaynağı tükenmesi gibi geçici hatalar nedeniyle başarısız olabilir. Daha önce bu tür hatalar tüm işin ve potansiyel olarak işlem hattının başarısız olmasına neden olacaktı.

Geçici hatalara karşı dayanıklılığı geliştirmek için sunucu görevlerinde özelliği için retryCountOnTaskFailure destek kullanıma sunulmuştur. İşlem hattınızda aşağıdaki YAML kodunun olduğunu varsayın:

- stage: deploy
  jobs:
  - job:
    pool: server
    steps:
    - task: AzureFunction@1
      retryCountOnTaskFailure: 2
      inputs:
        function: 'https://api.fabrikamfiber.com'
        key: $(functionKey)
        method: 'POST'
        waitForCompletion: 'false'

Geçici bir hatayla karşılaşırsanız https://api.fabrikamfiber.com , Azure Pipelines isteği üç kereye kadar yeniden dener (ilk deneme artı tarafından retryCountOnTaskFailurebelirtilen iki yeniden deneme). Her yeniden deneme, artan bir bekleme süresi içerir. İzin verilen en fazla yeniden deneme sayısı 10'dur.

retryCountOnTaskFailure, dış sistem çağrıları ManualValidation içermeyen görev ve diğer görevler için kullanılamaz.

Uyarıları yürütmek için kullanım süresi sonu Düğüm çalıştırıcısı sürümünü kullanan görevler

Düğüm sürümünü kullanan işlem hattı görevleri artık korunmayan uyarılar almaya başlar:

Görev TaskName sürümü <version> , kullanım süresi sonu olan bir Düğüm sürümüne (10) bağlıdır. Görevin güncelleştirilmiş bir sürümü için uzantı sahibine başvurun. Görev bakımcıları Düğüm yükseltme kılavuzlarını gözden geçirmelidir: https://aka.ms/node-runner-guidance

Bu uyarıları engellemek için, işlem hattı (iş) veya görev düzeyinde bir ortam veya işlem hattı değişkeni ayarlayabilirsiniz. Örneğin:

variables:
  AZP_AGENT_CHECK_IF_TASK_NODE_RUNNER_IS_DEPRECATED: false

DockerCompose@0 v1 uyumluluk modunda Docker Compose v2 kullanır

Docker Compose v1 kullanım ömrü sonuna ulaşacak ve 24 Temmuz 2024'te Barındırılan Aracılardan kaldırılacaktır. Docker Compose v1 aracıda kullanılamıyorsa DockerCompose@0 görevini v1 uyumluluk modunda Docker Compose v2 kullanacak şekilde güncelleştirdik.

Ancak, uyumluluk modu tüm uyumluluk sorunlarını çözmez. Bkz. Compose V2'ye Geçiş. Bazı kullanıcıların Docker Compose v2 uyumluluğu için Docker Compose projelerini güncelleştirmek için daha fazla zamana ihtiyacı olacaktır. Bu gibi durumlarda docker-compose v1 ile DockerComposeV0 görevini kullanmak için bu yönergeleri izleyin.

NOT: Bu kılavuz, Tek başına Compose Yükleme belgelerini temel alır

Windows'da docker-compose v1 kullanma

Docker-Compose v1.29.2 sürümünü indirmek ve Windows'da DockerComposeV0 göreviyle kullanmak için işlem hattınıza PowerShell adımını ekleyin:

variables:
    dockerComposePath: C:\docker-compose

steps:
- powershell: |
    mkdir -f $(dockerComposePath)
    # GitHub now requires TLS1.2. In PowerShell, run the following
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    Start-BitsTransfer -Source "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-windows-x86_64.exe" -Destination $(dockerComposePath)\docker-compose.exe
  displayName: Download docker-compose
- task: DockerCompose@0
  inputs:
    containerregistrytype: 'Azure Container Registry'
    dockerComposeFile: '**/docker-compose.yml'
    action: 'Run a Docker Compose command'
    dockerComposeCommand: 'run'
    dockerComposePath: $(dockerComposePath)\docker-compose.exe

Linux'ta docker-compose v1 kullanma

Docker-Compose v1.29.2 sürümünü indirmek ve Linux'ta DockerComposeV0 göreviyle kullanmak için bash adımını işlem hattınıza ekleyin:

variables:
    dockerComposePath: /tmp/docker-compose

steps:
- bash: |
    sudo mkdir $(dockerComposePath)
    sudo curl -SL https://github.com/docker/compose/releases/download/1.29.2/docker-compose-linux-x86_64 -o $(dockerComposePath)/docker-compose
    sudo chmod 755 $(dockerComposePath)/docker-compose
  displayName: Download docker-compose
- task: DockerCompose@0
  inputs:
    containerregistrytype: 'Azure Container Registry'
    dockerComposeFile: $(Build.SourcesDirectory)/DockerComposeV0/docker-compose.yml
    action: 'Run a Docker Compose command'
    dockerComposeCommand: 'run'
    dockerComposePath: $(dockerComposePath)/docker-compose

Azure Test Plans

Bildirim V3'te Test ve Geri Bildirim uzantısı

Azure DevOps Test ve Geri Bildirim uzantısı için yeni bir güncelleştirme duyurmaktan heyecan duyuyoruz! Bu yükseltme, uygulamamızı Bildirim Sürüm 2'den Sürüm 3'e geçirerek Google'ın Manifest V2 için kullanımdan kaldırma zamanlaması ile uyumlu hale geliyor.

Uzantının temel özellikleri değişmeden kalsa da, bu güncelleştirme güvenliği ve performansı artırır. Güncelleştirilmiş uzantı önümüzdeki haftalarda hem Chrome hem de Edge tarayıcılarına aşamalı olarak sunulacaktır. Sonuçlara göre dağıtımı genişletmeden önce sorunsuz bir geçiş sağlamak için performansı ve geri bildirimleri izleyeceğiz.

Diğer ayrıntılar için bu güncelleştirmeyle ilgili son blog gönderimize göz atın. Bildirim V3'te Test ve Geri Bildirim Uzantısı

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,

Silviu Andrica