Ćwiczenie — publikowanie modułu w rejestrze
Utworzono rejestr prywatny, który ma być używany przez firmę. W tym ćwiczeniu wykonasz następujące czynności:
- Utwórz moduł dla zasobów witryny internetowej.
- Utwórz kolejny moduł dla zasobów w usłudze CDN.
- Opublikuj moduły w rejestrze.
- Wyświetl listę modułów w rejestrze.
W tym ćwiczeniu jest używane rozszerzenie Bicep dla programu Visual Studio Code. Pamiętaj, aby zainstalować to rozszerzenie w programie Visual Studio Code.
Tworzenie modułu dla witryny internetowej
Wcześniej utworzono moduł, który wdraża witrynę internetową. W tym miejscu zapiszesz plik modułu, aby można było go opublikować.
Otwórz Visual Studio Code.
Utwórz nowy plik o nazwie website.bicep.
Wklej następujący kod do pliku 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@2022-03-01' = { name: appServicePlanName location: location sku: { name: appServicePlanSkuName } } resource appServiceApp 'Microsoft.Web/sites@2022-03-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
Zapisz plik.
Możesz wybrać pozycję Plik>Zapisz jako lub wybrać klawisze Ctrl+S w systemie Windows (⌘+S w systemie macOS). Pamiętaj, gdzie zapisujesz plik. Na przykład możesz utworzyć folder szablonów , aby go zapisać.
Tworzenie modułu dla usługi CDN
Podobnie jak w poprzednich krokach, zapisz wstępnie utworzony plik modułu, aby można było go opublikować wkrótce.
Utwórz nowy plik o nazwie cdn.bicep.
Wklej następujący kod do pliku 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@2022-11-01-preview' = { name: profileName location: 'global' sku: { name: 'Standard_Microsoft' } } resource endpoint 'Microsoft.Cdn/profiles/endpoints@2022-11-01-preview' = { 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
Zapisz plik.
Publikowanie modułów w rejestrze
W terminalu programu Visual Studio Code uruchom następujące polecenia. Zastąp
YOUR_CONTAINER_REGISTRY_NAME
ciąg nazwą rejestru prywatnego.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'
Zwróć uwagę, że nie trzeba się zalogować. Aplikacja Bicep używa informacji logowania z interfejsu wiersza polecenia platformy Azure do uwierzytelniania w rejestrze.
Uruchom następujące polecenie, aby wyświetlić listę artefaktów w rejestrze:
az acr repository list \ --name YOUR_CONTAINER_REGISTRY_NAME
Dane wyjściowe zawierają nazwy modułów:
[ "cdn", "website" ]
W terminalu programu Visual Studio Code uruchom następujące polecenia. Zastąp
YOUR_CONTAINER_REGISTRY_NAME
ciąg nazwą rejestru prywatnego.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'
Zwróć uwagę, że nie trzeba się zalogować. Aplikacja Bicep używa informacji logowania z programu Azure PowerShell do uwierzytelniania w rejestrze.
Uruchom następujące polecenie, aby wyświetlić listę artefaktów w rejestrze:
Get-AzContainerRegistryRepository -RegistryName YOUR_CONTAINER_REGISTRY_NAME
Dane wyjściowe zawierają nazwy modułów:
cdn website
Możesz również użyć witryny Azure Portal, aby wyświetlić listę modułów w rejestrze. Na karcie Przegląd grupy zasobów wybierz pozycję YOUR_CONTAINER_REGISTRY_NAME
, a następnie wybierz pozycję Repozytoria. Połączysz się z witryną Azure Portal w dalszej części tego modułu.