Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Beheerde DevOps-pools bieden de mogelijkheid om een PowerShell-script (Windows) of een Bash-script (Linux) uit te voeren op een installatiekopie in een pool voordat die aan een agent wordt toegewezen voor het uitvoeren van een taak. Deze functie maakt scenario's mogelijk, zoals het installeren van vertrouwde basis-CA's en het instellen van omgevingsvariabelen.
Important
Inrichtingsscripts zijn momenteel beschikbaar als preview-versie. De functie kan veranderen vóór algemene beschikbaarheid.
Beheerde DevOps-pools maken gebruik van een beheerde identiteit die is gekoppeld aan uw pool om de scripts van Azure Blob Storage naar de agent te downloaden en scriptlogboeken voor inrichting te uploaden om problemen op te lossen. Het inrichtingsscript wordt uitgevoerd wanneer de agent wordt gestart en u kunt de agent zo configureren dat deze opnieuw wordt opgestart nadat het script is uitgevoerd.
Voer de volgende stappen uit om de installatiekopie van een Managed DevOps Pool te configureren om een inrichtingsscript uit te voeren:
- Maak twee blobcontainers in een Blob Storage-account: één voor de inrichtingsscripts en ondersteunende bestanden, en één voor het uploaden van scriptlogboeken voor inrichting. Upload uw inrichtingsscripts en eventuele ondersteunende bestanden naar de script-blobcontainer.
- Koppel een beheerde identiteit aan uw beheerde DevOps-pool en wijs de vereiste rollen toe aan de beheerde identiteit op de juiste bereiken, zodat de agent de inrichtingsscripts kan lezen en scriptlogboeken voor inrichting kan uploaden.
- Configureer uw images zodat ze de gewenste provisioningscripts gebruiken.
Prerequisites
- Een Azure Blob Storage-account. Het ondersteunde Azure Storage accounttype voor het inrichten van scripts voor beheerde DevOps-pools is Standard algemeen gebruik v2.
- Een beheerde DevOps-pool met een gekoppelde beheerde identiteit. Als uw beheerde DevOps-pool geen beheerde identiteit heeft, maakt u er een door de stappen te volgen in Een beheerde identiteit configureren voor uw beheerde DevOps-pool.
De blobcontainers maken
Beheerde DevOps-pools downloaden provisioneringsscripts en de ondersteunende bestanden van blobs in een container binnen een Blob Storage-account. Voor beheerde DevOps-pools zijn twee blobcontainers in het opslagaccount vereist: één voor het downloaden van het inrichtingsscript en ondersteunende bestanden, en één voor het uploaden van scriptlogboeken voor inrichting.
Maak de volgende twee blobcontainers in uw Blob Storage-account.
| Blob Storage-container | Description |
|---|---|
Scripts Blob-container. Als u geen aangepaste naam opgeeft in Toegangspunt (provisioningScriptEntryPoint) wanneer u uw image configureert om een provisioningsscript uit te voeren, is de standaardnaam provisioningscript. |
Bevat het inrichtingsscript en eventuele ondersteunende bestanden. Het inrichtingsscript moet een naam Startup.ps1 hebben voor Windows installatiekopieën of Startup.sh voor Linux-installatiekopieën. |
Container voor het inrichten van scriptlogboeken. U kunt deze containernaam niet configureren. het moet zijn mdpprovisioningscriptlogs.Beheerde DevOps-pools kunnen de mdpprovisioningscriptlogs blobcontainer automatisch maken, maar voor toegang met minimale bevoegdheden wordt u aangeraden de mdpprovisioningscriptlogs container handmatig te maken. Zie Azure rollen toewijzen aan de beheerde identiteit voor meer informatie. |
Bevat de logbestanden stdout en stderr die door het provisioningsscript zijn gegenereerd, en een kopie van het script. De blobnamen gebruiken de machinenaam van de agent als een virtuele map. |
Upload uw inrichtingsscript en eventuele ondersteunende bestanden naar de blobcontainer van de scripts. Het inrichtingsscript moet een naam Startup.ps1 hebben voor Windows installatiekopieën of Startup.sh voor Linux-installatiekopieën. U kunt alle ondersteunende bestanden opnemen die vereist zijn voor de scripts in de blob. Wanneer de agent wordt gestart, worden deze bestanden gedownload naar de werkmap van de agent en wordt het inrichtingsscript vanaf die locatie uitgevoerd.
Azure rollen toewijzen aan de beheerde identiteit
Beheerde DevOps-pools maken gebruik van een beheerde identiteit voor toegang tot de blobcontainers voor de inrichtingsscripts en het inrichten van scriptlogboeken. U moet een beheerde identiteit koppelen aan uw beheerde DevOps-pool en de opgegeven rollen toewijzen aan de beheerde identiteit op de bereiken die in deze sectie worden beschreven. Als uw beheerde DevOps-pool geen beheerde identiteit heeft, maakt u er een door de stappen te volgen in Een beheerde identiteit configureren voor uw beheerde DevOps-pool.
- Als uw beheerde DevOps-pool één gekoppelde beheerde identiteit heeft, wordt die identiteit gebruikt voor toegang tot het inrichtingsscript en het inrichten van scriptlogboekcontainers.
- Als uw Managed DevOps-pool meer dan één gekoppelde beheerde identiteit heeft, geeft u een specifieke beheerde identiteit op die moet worden gebruikt voor inrichtingsscripts door de eigenschap Client-id van beheerde identiteit (
provisioningScriptManagedIdentityResourceId) op te geven wanneer u uw installatiekopie configureert voor het gebruik van een inrichtingsscript.
Wijs de rollen in de volgende tabel toe aan de gekoppelde beheerde identiteit van de Managed DevOps Pool binnen de opgegeven bereiken, zodat de agent de scripts kan downloaden en de logboeken van het provisioningscript kan uploaden. Zie Stappen voor het toewijzen van een Azure-rol voor meer informatie over het toewijzen van Azure rollen.
| Role | Scope |
|---|---|
| Storage Blob-gegevenslezer | Bereik van scriptblobcontainer. Als u geen naam opgeeft in Entry point (provisioningScriptEntryPoint) wanneer u uw image configureert om een provisioningscript uit te voeren, is de standaardnaam provisioningscript. |
| Inzender voor Storage Blob-gegevens | Voor toegang met minimale machtigingen maakt u handmatig de logboekcontainer voor het inrichtingsscript (mdpprovisioningscriptlogs) en wijst u de rol toe aan de beheerde identiteit binnen het bereik van die blobcontainer.Als u wilt dat beheerde DevOps-pools de container maken, wijst u de rol toe aan de beheerde identiteit binnen het bereik van het opslagaccount. Als u de rol Storage Blob Data Contributor toewijst op het niveau van het opslagaccount, hoeft u de rol Storage Blob Data Reader niet toe te wijzen op het niveau van de scriptcontainer. |
Configureer je image voor het gebruik van het provisioningscript
Als u een inrichtingsscript met een image wilt gebruiken, configureert u de volgende image-eigenschappen.
| Property | Description |
|---|---|
Resource-id van opslagaccountprovisioningScriptStorageAccountResourceId |
Vereist. De resource-id van het opslagaccount dat de scriptcontainer (standaardnaam provisioningscript) en de mdpprovisioningscriptlogs container bevat. |
toegangspuntprovisioningScriptEntryPoint |
De naam van de blobcontainer die het inrichtingsscript en de ondersteunende bestanden bevat. Als u geen waarde opgeeft, is de standaardwaarde provisioningscript. |
Client-ID van beheerde identiteitprovisioningScriptManagedIdentityClientId |
Vereist als uw pool is gekoppeld aan meer dan één beheerde identiteit. De client-id van de beheerde identiteit die moet worden gebruikt voor toegang tot de blobs in het script en het inrichten van scripts registreert containers. Als uw beheerde DevOps-pool meer dan één gekoppelde beheerde identiteit heeft, moet u opgeven welke u hier wilt gebruiken. Als uw pool slechts één identiteit heeft, is deze eigenschap optioneel. |
Opnieuw opstarten na het uitvoeren van het scriptprovisioningScriptShouldRestart |
Of de agent opnieuw moet opstarten na het uitvoeren van het inrichtingsscript en voordat er taken naar de agent worden verzonden. Als u geen waarde opgeeft, is de standaardwaarde false.Opnieuw opstarten nadat de uitvoering van het script de inrichtingstijd verhoogt en alleen moet worden uitgevoerd als het inrichtingsscript wijzigingen aanbrengt waarvoor opnieuw opstarten moet worden doorgevoerd. |
Note
Inrichtingsscripts zijn beschikbaar in API-versie 2026-06-02 of hoger.
Als u uw pool bijwerkt met behulp van een eerdere API-versie nadat u inrichtingsscripts hebt geconfigureerd, blijven de instellingen van het inrichtingsscript niet behouden.
Als u de instellingen van het provisioningscript voor een installatiekopie wilt configureren, gaat u naar de sectie Afbeeldingen van de poolinstellingen en selecteert u ...>Provisioningscript configureren.
Voeg de instellingen voor het inrichtingsscript voor de image toe of werk ze bij en selecteer Opslaan.
Provisioneringsfouten
De volgende tabel bevat foutcodes en beschrijvingen van het inrichtingsscript.
| Foutcode | Description |
|---|---|
ProvisioningScriptDownloadFailed |
Het inrichtingsscript kan tijdens het inrichten niet naar de computer worden gedownload. |
ProvisioningScriptAccessFailed |
Het inrichtingsproces kon geen toegang krijgen tot het inrichtingsscript. Deze fout treedt meestal op vanwege een probleem met toegang of machtigingen bij het ophalen van het script. |
ProvisioningScriptExecutionFailed |
Het provisioningsscript is gedownload, maar is mislukt toen het op de machine werd uitgevoerd. |
ProvisioningScriptLogUploadFailed |
Het inrichtingsproces heeft logbestanden van het inrichtingsscript gegenereerd, maar kon deze niet uploaden. |
Scriptlogboeken inrichten
Logboeken van het provisioning-script bevatten de standaarduitvoer (stdout) en de standaardfoutenuitvoer (stderr) die door het script worden gegenereerd. Beheerde DevOps-pools schrijven deze logboeken naar de mdpprovisioningscriptlogs blobcontainer in het opslagaccount dat u opgeeft. De blobs worden geordend onder een virtuele map waarvan de naam de indeling mdp-{poolName}-{agentMachineName}gebruikt. Deze virtuele map bevat een output virtuele map met stderr.log en stdout.log bestanden en een script virtuele map met een kopie van het script dat is uitgevoerd.
Beheerde DevOps-pools beheren deze logboeken niet, dus u moet de bewaarperiode in uw opslagaccount beheren met behulp van Azure Blob Storage beleid voor levenscyclusbeheer. Het volgende voorbeeldbeleid met de naam DeleteOldMDPLogs verwijdert logboek-blobs drie dagen nadat ze voor het laatst zijn gewijzigd.
{
"rules": [
{
"enabled": true,
"name": "DeleteOldMDPLogs",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"delete": {
"daysAfterModificationGreaterThan": 3
}
}
},
"filters": {
"blobTypes": [
"blockBlob"
],
"prefixMatch": [
"mdpprovisioningscriptlogs/"
]
}
}
}
]
}
U kunt AI-hulp krijgen van GitHub Copilot om Azure Blob Storage levenscyclusbeheerbeleid te bouwen. Pas de volgende prompt aan om Azure Blob Storage beleid voor levenscyclusbeheer te maken.
Build an Azure Blob Storage lifecycle management policy named DeleteOldMDPLogs that deletes logs after three days.
Voor meer informatie over het beleid dat door Copilot is gegenereerd, kunt u Copilot vragen een uitleg te geven van het gegenereerde beleid in uw prompt.
Copilot wordt aangedreven door AI, dus verrassingen en fouten zijn mogelijk. Zie voor meer informatie de veelgestelde vragen over algemeen gebruik van Copilot.
Zie Azure Blob Storage beleid voor levenscyclusbeheer en een levenscyclusbeheerbeleid configureren voor meer informatie.