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
- Microsoft Entra ID kimlik doğrulamayı kullanarak İşlem Hatlarından Azure Service Bus'a erişme
- İş yükü kimliği federasyon kimlik doğrulamasını özelleştirmek için işlem hatları ve görevler değişkenleri doldurur
- Sunucu görevleri için yeniden denemeler
- 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
- DockerCompose0, v1 uyumluluk modunda Docker Compose v2 kullanıyor
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.
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.
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.
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 InvokeRESTAPI
gibi 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 retryCountOnTaskFailure
belirtilen 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.
Stack Overflow'da topluluk tarafından öneriler ve sorularınıza yanıt alabilirsiniz.
Teşekkürler,
Silviu Andrica