Ćwiczenie — publikowanie modułu w rejestrze

Ukończone

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ć.

  1. Otwórz Visual Studio Code.

  2. Utwórz nowy plik o nazwie website.bicep.

  3. 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
    
  4. 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.

  1. Utwórz nowy plik o nazwie cdn.bicep.

  2. 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
    
  3. Zapisz plik.

Publikowanie modułów w rejestrze

  1. 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.

  2. 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"
    ]
    
  1. 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.

  2. 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.