Övning – Publicera en modul i registret
Du har skapat ett privat register som leksaksföretaget ska använda. I den här övningen kommer du att:
- Skapa en modul för webbplatsresurserna.
- Skapa en till modul för resurserna i CDN.
- Publicera modulerna i registret.
- Visa en lista över modulerna i registret.
Den här övningen använder Bicep-tillägget för Visual Studio Code. Installera tillägget i Visual Studio Code.
Skapa en modul för en webbplats
Du har tidigare skapat en modul som distribuerar en webbplats. Här sparar du modulfilen så att du kan publicera den.
Öppna Visual Studio Code.
Skapa en ny fil med namnet website.bicep.
Klistra in följande kod i filen 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
Spara filen.
Du kan antingen välja Spara som-fil> eller välja Ctrl+S i Windows (⌘+S på macOS). Kom ihåg var du sparar filen. Du kanske till exempel vill skapa en mallmapp för att spara den.
Skapa en modul för ett CDN
Precis som i föregående steg sparar du en fördefinierad modulfil så att du kan publicera den snart.
Skapa en ny fil med namnet cdn.bicep.
Klistra in följande kod i filen cdn.bicep :
@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
Spara filen.
Publicera modulerna i registret
Kör följande kommandon i Visual Studio Code-terminalen. Ersätt
YOUR_CONTAINER_REGISTRY_NAME
med namnet på ditt privata 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'
Observera att du inte behövde logga in. Bicep använder inloggningsinformationen från Azure CLI för att autentisera dig till registret.
Kör följande kommando för att visa artefakterna i registret:
az acr repository list \ --name YOUR_CONTAINER_REGISTRY_NAME
Utdata visar namnen på dina moduler:
[ "cdn", "website" ]
Kör följande kommandon i Visual Studio Code-terminalen. Ersätt
YOUR_CONTAINER_REGISTRY_NAME
med namnet på ditt privata 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'
Observera att du inte behövde logga in. Bicep använder inloggningsinformationen från Azure PowerShell för att autentisera dig till registret.
Kör följande kommando för att visa artefakterna i registret:
Get-AzContainerRegistryRepository -RegistryName YOUR_CONTAINER_REGISTRY_NAME
Utdata visar namnen på dina moduler:
cdn website
Du kan också använda Azure Portal för att lista modulerna i registret. På fliken Översikt för resursgruppen väljer du YOUR_CONTAINER_REGISTRY_NAME
och väljer sedan Lagringsplatser. Du ansluter till Azure Portal senare i den här modulen.