Cvičení – publikování modulu do registru

Dokončeno

Vytvořili jste privátní registr, který má vaše společnost toy používat. V tomto cvičení:

  • Vytvořte modul pro prostředky webu.
  • Vytvořte další modul pro prostředky v CDN.
  • Publikujte moduly do registru.
  • Výpis modulů v registru

V tomto cvičení se používá rozšíření Bicep pro Visual Studio Code. Nezapomeňte toto rozšíření do Visual Studio Codu nainstalovat.

Vytvoření modulu pro web

Dříve jste vytvořili modul, který nasadí web. Tady uložíte soubor modulu, abyste ho mohli publikovat.

  1. Otevřete Visual Studio Code.

  2. Vytvořte nový soubor s názvem website.bicep.

  3. Do souboru website.bicep vložte následující kód:

    @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
    
  4. Uložte soubor.

    Můžete vybrat >možnost Uložit soubor jako nebo vybrat Kombinaci kláves Ctrl+S ve Windows (⌘+S v systému macOS). Nezapomeňte si zapamatovat, kam soubor uložíte. Můžete například chtít vytvořit složku šablon , do které ji chcete uložit.

Vytvoření modulu pro CDN

Podobně jako v předchozích krocích uložíte předem vytvořený soubor modulu, abyste ho mohli brzy publikovat.

  1. Vytvořte nový soubor s názvem cdn.bicep.

  2. Do souboru cdn.bicep vložte následující kód:

    @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
    
  3. Uložte soubor.

Publikování modulů do registru

  1. V terminálu editoru Visual Studio Code spusťte následující příkazy. Nahraďte YOUR_CONTAINER_REGISTRY_NAME názvem vašeho privátního registru.

    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'
    

    Všimněte si, že jste se nemuseli přihlašovat. Bicep používá přihlašovací informace z Azure CLI k ověření v registru.

  2. Spuštěním následujícího příkazu zobrazte seznam artefaktů v registru:

    az acr repository list \
      --name YOUR_CONTAINER_REGISTRY_NAME
    

    Výstup zobrazuje názvy modulů:

    [
      "cdn",
      "website"
    ]
    
  1. V terminálu editoru Visual Studio Code spusťte následující příkazy. Nahraďte YOUR_CONTAINER_REGISTRY_NAME názvem vašeho privátního registru.

    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'
    

    Všimněte si, že jste se nemuseli přihlašovat. Bicep používá přihlašovací informace z Azure PowerShellu k ověření v registru.

  2. Spuštěním následujícího příkazu zobrazte seznam artefaktů v registru:

    Get-AzContainerRegistryRepository -RegistryName YOUR_CONTAINER_REGISTRY_NAME
    

    Výstup zobrazuje názvy modulů:

    cdn
    website
    

K výpisu modulů v registru můžete použít také Azure Portal. Na kartě Přehled skupiny prostředků vyberte YOUR_CONTAINER_REGISTRY_NAME a pak vyberte Úložiště. Později v tomto modulu se připojíte k webu Azure Portal.