Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ezzel a frissítéssel egy új beállítást vezetünk be a TFVC-adattárak létrehozásának letiltásához. Ez a változás az új projektekre összpontosít, és biztosítja, hogy a meglévő TFVC-adattárak ne legyenek hatással.
Emellett örömmel jelentjük be, hogy az Azure Pipelinesban egy új REST API-végpont érhető el OIDC-jogkivonatok igényléséhez! Ez lehetővé teszi, hogy a feladatfejlesztők idTokeneket generáljanak az Entra ID-hitelesítéshez, ezáltal növelve a biztonságot és a könnyű használatot.
Végül az Azure Boardsban a terület- és iterációs útvonalak mostantól csak akkor törölhetők, ha már nincsenek munkahelyi elemekhez társítva. Ez a fejlesztés megakadályozza a fennakadásokat, és biztosítja, hogy a csapatok továbbra is hozzáférjenek a táblákhoz és a hátralékokhoz.
Részletekért tekintse meg a kibocsátási megjegyzéseket.
Azure DevOps-hoz készült GitHub Advanced Security
Azure Boards:
Azure Repos
Azure Pipelines
- Azure Service Bus elérése folyamatokból Microsoft Entra ID-hitelesítéssel
- A folyamatok és tevékenységek változókat töltenek fel a számítási feladatok identitás-összevonási hitelesítésének testreszabásához
- Kiszolgálói feladatok újrapróbálkozása
- Olyan feladatok, amelyek az életciklus végén futó csomópont verzióját használják figyelmeztetések végrehajtásához
- A DockerCompose0 a Docker Compose v2-t használja 1-es verziós kompatibilitási módban
Azure-tesztcsomagok:
Azure DevOps-hoz készült GitHub Advanced Security
A biztonsági áttekintési API dokumentációja már elérhető
Az Advanced Security áttekintési kockázati lapját meghatalmazó API dokumentációja már elérhető. A végpont /{organization}/_apis/reporting/summary/alerts használatával megtekintheti a riasztások kritikusságának összegzését az összes speciális biztonságra képes adattárban. Győződjön meg arról, hogy az ADO PAT rendelkezik az vso.advsec engedéllyel, amely lehetővé teszi a riasztások, az eredménypéldányok és az elemzési eredménypéldányok olvasását.
Azure Boards
Terület- és iterációs útvonalak törlése
Egy terület vagy iterációs útvonal törlése zavaró lehet. Áthelyezheti a munkaelemeket egy új útvonalra, és a csapatok elveszíthetik a hozzáférésüket a táblákhoz és a hátralékokhoz. A figyelmeztetések és a kérések ellenére az útvonalak néha törlésre kerülnek anélkül, hogy teljes mértékben tisztában vannak a következményekkel. A probléma megoldásához módosítottuk a viselkedést: A terület- és iterációs útvonalak mostantól csak akkor törölhetők, ha már nem használják őket munkaelemek.
Azure Repos
Új beállítás a TFVC-adattárak létrehozásának letiltásához
Az elmúlt években nem kerültek bele új funkciók a Team Foundation-verziókövetésbe (TFVC), mert a Git lett az előnyben részesített verziókövetési rendszer az Azure-adattárakban. A biztonság, a teljesítmény és az akadálymentesség terén a közelmúltban fejlesztések kizárólag a Git-adattárakban történtek, ami a TFVC-használat folyamatos csökkenéséhez vezetett. Bár néhányan továbbra is a TFVC-re támaszkodnak, és nem kívánjuk eltávolítani ezt a funkciókészletet, azt tervezzük, hogy fokozatosan kivezetjük a TFVC-t az új projektek és szervezetek esetében, valamint az olyan projektek esetében, amelyek jelenleg nem használják a TFVC-t.
Ezen átmenet részeként bevezetünk egy új beállítást a „TFVC-adattárak létrehozásának letiltása” tekintetében, amely csak az új TFVC-adattárak létrehozását érinti, a meglévőket azonban nem.
Azure Pipelines
Azure Service Bus elérése folyamatokból Microsoft Entra ID-hitelesítéssel
Mostantól a Microsoft Entra ID-hitelesítéssel hozzáférhet az Azure Service Bushoz az Azure Pipelinesból. Ez lehetővé teszi a számítási feladatok identitás-összevonásának előnyeit a titkos kódok kezelésének és az Azure RBAC-nek a részletes hozzáférés-vezérlés érdekében történő eltávolításához.
Az Azure Service Bushoz hozzáférő identitásoknak meg kell adni az Azure Service Bus beépített szerepköreinek egyikét a elért Service Buson .
PublishToAzureServiceBus@2 tevékenység
Az új PublishToAzureServiceBus@2 feladatok azure-szolgáltatáskapcsolattal konfigurálhatók. Hozzon létre egy Azure-szolgáltatáskapcsolatot, és töltse ki az serviceBusQueueName új feladat tulajdonságait és serviceBusNamespace tulajdonságait:
- task: PublishToAzureServiceBus@2
inputs:
azureSubscription: my-azure-service-connection
serviceBusQueueName: my-service-bus-queue
serviceBusNamespace: my-service-bus-namespace
useDataContractSerializer: false
messageBody: |
{
"foo": "bar"
}
Kiszolgálói feladatok
A végrehajtást használó ServiceBus egyéni kiszolgálói (ügynök nélküli) feladatok megadhatnak egy Azure-szolgáltatáskapcsolatot, és EndpointId kihagyhatják ConnectionStringazt. Lásd: Kiszolgálói feladat létrehozása.
A folyamatok és tevékenységek változókat töltenek fel a számítási feladatok identitás-összevonási hitelesítésének testreszabásához
Az OIDC-jogkivonatok igénylésére szolgáló REST API-végpont már elérhető a System.OidcRequestUri folyamatváltozóban. A feladatfejlesztők ezt a változót felhasználhatják egy idToken létrehozására az Entra-azonosítóval való hitelesítéshez.
Ha Marketplace-feladatokat vagy egyéni feladatokat használ az Azure-ban való üzembe helyezéshez, vegye figyelembe, hogy ezek a tevékenységek még nem támogatják a számítási feladatok identitásának összevonását. Azt javasoljuk a feladatfejlesztőknek, hogy engedélyezhessék a számítási feladatok identitásának összevonását a biztonsági intézkedések javítása érdekében.
A task.json bemenetet connectedService:AzureRMhasználó tevékenységek az alábbi lépések végrehajtásával frissíthetők a számítási feladatok identitás-összevonásának támogatásához:
- Használja az Oidctoken REST API-t egy idToken kéréséhez (1. nyíl a fenti diagramon).
- Cserélje le az idTokent egy hozzáférési jogkivonatra az OAuth API összevont hitelesítőadat-folyamatával
vagy: - Az olyan feladatok esetében, amelyek burkolóként működnek egy olyan eszköz körül, amely maga hajtja végre a hitelesítést, az eszközök hitelesítési módszerével adja meg az összevont jogkivonatot.
A csomóponti feladatok az azure-pipelines-tasks-artifacts-common npm csomagot használhatják az idToken beszerzéséhez. A megvalósítás részleteiért tekintse meg a kód példáját .
Új idToken kérése
A System.OidcRequestUri folyamatváltozó és AZURESUBSCRIPTION_SERVICE_CONNECTION_ID a környezeti változó, amely a tevékenységekben érhető el, lehetővé teszi a AzureCLI@2AzurePowerShell@5 folyamatkészítők számára, hogy saját szkriptjükből hitelesítsék magukat:
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
Kiszolgálói feladatok újrapróbálkozása
A külső rendszereket ( például AzureFunction vagy InvokeRESTAPI) meghívó kiszolgálói feladatok időnként meghiúsulhatnak átmeneti hibák, például a számítási erőforrások kimerülése miatt. Korábban az ilyen hibák miatt a teljes feladat, és potenciálisan a folyamat is meghiúsult.
Az átmeneti hibák elleni rugalmasság javítása érdekében bevezettük a tulajdonság támogatását a retryCountOnTaskFailure kiszolgálói feladatokban. Tegyük fel, hogy a folyamat a következő YAML-kóddal rendelkezik:
- stage: deploy
jobs:
- job:
pool: server
steps:
- task: AzureFunction@1
retryCountOnTaskFailure: 2
inputs:
function: 'https://api.fabrikamfiber.com'
key: $(functionKey)
method: 'POST'
waitForCompletion: 'false'
Ha https://api.fabrikamfiber.com átmeneti hibát tapasztal, az Azure Pipelines legfeljebb háromszor próbálkozik újra a kéréssel (a kezdeti kísérlet és a megadott retryCountOnTaskFailurekét újrapróbálkozással). Minden újrapróbálkozik egy növekvő várakozási időszak. Az újrapróbálkozések maximális száma 10.
Ez retryCountOnTaskFailure nem érhető el a ManualValidation tevékenységhez és más olyan feladatokhoz, amelyekhez nem tartoznak külső rendszerhívások.
Olyan feladatok, amelyek az életciklus végén futó csomópont verzióját használják figyelmeztetések végrehajtásához
A csomópontverzióra támaszkodó folyamatműveletek már nem lesznek karbantartva , figyelmeztetések fognak érkezni:
A feladat
TaskNameverziója<version>egy életciklus végén lévő csomópontverziótól (10) függ. A feladat frissített verziójáért forduljon a bővítmény tulajdonosához. A feladatfenntartóknak át kell tekintenie a csomópontok frissítési útmutatóját: https://aka.ms/node-runner-guidance
A figyelmeztetések mellőzéséhez beállíthat egy környezeti vagy folyamatváltozót a folyamat (feladat) vagy a tevékenység szintjén. Példa:
variables:
AZP_AGENT_CHECK_IF_TASK_NODE_RUNNER_IS_DEPRECATED: false
DockerCompose@0 a Docker Compose v2-t használja 1-s verziós kompatibilitási módban
A Docker Compose 1-hez készült v1-et el fogja érni, és 2024. július 24-én el lesz távolítva az üzemeltetett ügynökök közül. Frissítettük a DockerCompose@0 feladatot, hogy a Docker Compose v2-t 1-s kompatibilitási módban használjuk, ha a Docker Compose v1 nem érhető el az ügynökön.
A kompatibilitási mód azonban nem kezeli az összes kompatibilitási problémát. Lásd: Költöztetés a Compose V2-be. Néhány felhasználónak több időre lesz szüksége a Docker Compose projektjei Docker Compose v2-vel kompatibilisre való frissítéséhez. Ezekben az esetekben kövesse ezeket az utasításokat a DockerComposeV0 feladat docker-compose v1-hez való használatához.
MEGJEGYZÉS: Ez az útmutató a Compose önálló telepítésének dokumentációján alapul
Docker-compose v1 használata Windows alatt
Adja hozzá a PowerShell-lépést a folyamathoz a docker-Compose v1.29.2 letöltéséhez és a DockerComposeV0 feladattal való használatához Windows rendszeren:
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
Docker-compose v1 használata Linux alatt
Adja hozzá a bash lépést a folyamathoz a Docker-Compose 1.29.2-s verzió letöltéséhez, és használja a DockerComposeV0 feladattal Linuxon:
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
Tesztelési és visszajelzési bővítmény a Manifest V3-ban
Örömmel jelentjük be az Azure DevOps Teszt és Visszajelzés bővítmény új frissítését! Ez a frissítés a 2. jegyzékverzióról a 3. verzióra vált, a Google elavulási ütemtervének megfelelően a Manifest V2-re.
Bár a bővítmény alapvető funkciói változatlanok maradnak, ez a frissítés javítja a biztonságot és a teljesítményt. A frissített bővítmény fokozatosan jelenik meg a Chrome és az Edge böngészőkben is az elkövetkező hetekben. Figyeljük a teljesítményt és a visszajelzéseket, hogy zökkenőmentes átmenetet biztosítsunk, mielőtt az eredmények alapján bővítjük a bevezetést.
További részletekért tekintse meg a frissítésről szóló legutóbbi blogbejegyzésünket. Teszt & visszajelzési bővítmény a Manifest V3-ban
Következő lépések
Feljegyzés
Ezek a funkciók a következő két-három hétben jelennek meg.
Lépjen az Azure DevOpsba, és nézze meg.
Visszajelzés küldése
Szeretnénk hallani, mit gondol ezekről a funkciókról. A súgómenüvel jelentheti a problémát, vagy javaslatot adhat.
Tanácsokat és kérdéseket is kaphat a közösség által a Stack Overflow-on.
Köszönettel:
Silviu Andrica