Oefening: een module publiceren naar uw register
U hebt een persoonlijk register gemaakt dat uw speelgoedbedrijf kan gebruiken. In deze oefening gaat u het volgende doen:
- Maak een module voor de websitebronnen.
- Maak een andere module voor de resources in het CDN.
- Publiceer de modules in uw register.
- Geef de modules in het register weer.
In deze oefening wordt de Bicep-extensie voor Visual Studio Code gebruikt. Zorg ervoor dat u deze extensie installeert in Visual Studio Code.
Een module voor een website maken
U hebt eerder een module gemaakt waarmee een website wordt geïmplementeerd. Hier slaat u het modulebestand op, zodat u het kunt publiceren.
Open Visual Studio Code.
Maak een nieuw bestand met de naam website.bicep.
Plak de volgende code in het bestand website.bicep :
@description('The Azure region into which the resources should be deployed.') param location string @description('The name of the App Service app.') param appServiceAppName string @description('The name of the App Service plan.') param appServicePlanName string @description('The name of the App Service plan SKU.') param appServicePlanSkuName string resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = { name: appServicePlanName location: location sku: { name: appServicePlanSkuName } } resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = { name: appServiceAppName location: location properties: { serverFarmId: appServicePlan.id httpsOnly: true } } @description('The default host name of the App Service app.') output appServiceAppHostName string = appServiceApp.properties.defaultHostName
Sla het bestand op.
U kunt Bestand>opslaan als selecteren of Ctrl+S selecteren in Windows (⌘+S in macOS). Vergeet niet waar u het bestand opslaat. U kunt bijvoorbeeld een map met sjablonen maken om deze op te slaan in.
Een module voor een CDN maken
Net als in de vorige stappen slaat u een vooraf gemaakt modulebestand op, zodat u het snel kunt publiceren.
Maak een nieuw bestand met de naam cdn.bicep.
Plak de volgende code in het cdn.bicep-bestand :
@description('The host name (address) of the origin server.') param originHostName string @description('The name of the CDN profile.') param profileName string = 'cdn-${uniqueString(resourceGroup().id)}' @description('The name of the CDN endpoint') param endpointName string = 'endpoint-${uniqueString(resourceGroup().id)}' @description('Indicates whether the CDN endpoint requires HTTPS connections.') param httpsOnly bool var originName = 'my-origin' resource cdnProfile 'Microsoft.Cdn/profiles@2024-02-01' = { name: profileName location: 'global' sku: { name: 'Standard_Microsoft' } } resource endpoint 'Microsoft.Cdn/profiles/endpoints@2024-02-01' = { parent: cdnProfile name: endpointName location: 'global' properties: { originHostHeader: originHostName isHttpAllowed: !httpsOnly isHttpsAllowed: true queryStringCachingBehavior: 'IgnoreQueryString' contentTypesToCompress: [ 'text/plain' 'text/html' 'text/css' 'application/x-javascript' 'text/javascript' ] isCompressionEnabled: true origins: [ { name: originName properties: { hostName: originHostName } } ] } } @description('The host name of the CDN endpoint.') output endpointHostName string = endpoint.properties.hostName
Sla het bestand op.
De modules publiceren in uw register
Voer in de Visual Studio Code-terminal de volgende opdrachten uit. Vervang door
YOUR_CONTAINER_REGISTRY_NAME
de naam van uw privéregister.az bicep publish \ --file website.bicep \ --target 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/website:v1' az bicep publish \ --file cdn.bicep \ --target 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/cdn:v1'
U ziet dat u zich niet hoeft aan te melden. Bicep gebruikt de aanmeldingsgegevens van de Azure CLI om u bij het register te verifiëren.
Voer de volgende opdracht uit om de artefacten in uw register weer te geven:
az acr repository list \ --name YOUR_CONTAINER_REGISTRY_NAME
In de uitvoer ziet u de namen van uw modules:
[ "cdn", "website" ]
Voer in de Visual Studio Code-terminal de volgende opdrachten uit. Vervang door
YOUR_CONTAINER_REGISTRY_NAME
de naam van uw privéregister.bicep publish website.bicep ` --target 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/website:v1' bicep publish cdn.bicep ` --target 'br:YOUR_CONTAINER_REGISTRY_NAME.azurecr.io/cdn:v1'
U ziet dat u zich niet hoeft aan te melden. Bicep gebruikt de aanmeldingsgegevens van Azure PowerShell om u bij het register te verifiëren.
Voer de volgende opdracht uit om de artefacten in uw register weer te geven:
Get-AzContainerRegistryRepository -RegistryName YOUR_CONTAINER_REGISTRY_NAME
In de uitvoer ziet u de namen van uw modules:
cdn website
U kunt azure Portal ook gebruiken om de modules in uw register weer te geven. Selecteer YOUR_CONTAINER_REGISTRY_NAME
op het tabblad Overzicht van uw resourcegroep opslagplaatsen en selecteer deze. Verderop in deze module maakt u verbinding met Azure Portal.