Exercício - Publicar um módulo no seu registo

Concluído

Criou um registo privado para a sua empresa de brinquedos utilizar. Neste exercício, irá:

  • Crie um módulo para os recursos do site.
  • Crie outro módulo para os recursos na CDN.
  • Publique os módulos no seu registo.
  • Liste os módulos no registro.

Este exercício usa a extensão Bicep para Visual Studio Code. Certifique-se de que instala esta extensão no Visual Studio Code.

Criar um módulo para um site

Você criou anteriormente um módulo que implanta um site. Aqui, você salva o arquivo de módulo para publicá-lo.

  1. Abra o Visual Studio Code.

  2. Crie um novo arquivo chamado website.bicep.

  3. Cole o seguinte código no arquivo 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. Guarde o ficheiro.

    Você pode selecionar Arquivo>Salvar como ou Ctrl+S no Windows (⌘+S no macOS). Lembre-se de onde você salvou o arquivo. Por exemplo, talvez você queira criar uma pasta de modelos para salvá-la.

Criar um módulo para uma CDN

Semelhante às etapas anteriores, você salva um arquivo de módulo pré-criado para que possa publicá-lo em breve.

  1. Crie um novo arquivo chamado cdn.bicep.

  2. Cole o seguinte código no arquivo 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. Guarde o ficheiro.

Publique os módulos no seu registo

  1. No terminal do Visual Studio Code, execute os seguintes comandos. Substitua YOUR_CONTAINER_REGISTRY_NAME pelo nome do seu registo privado.

    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'
    

    Observe que você não precisa entrar. O Bicep usa as informações de entrada da CLI do Azure para autenticá-lo no Registro.

  2. Execute o seguinte comando para listar os artefatos em seu registro:

    az acr repository list \
      --name YOUR_CONTAINER_REGISTRY_NAME
    

    A saída mostra os nomes dos seus módulos:

    [
      "cdn",
      "website"
    ]
    
  1. No terminal do Visual Studio Code, execute os seguintes comandos. Substitua YOUR_CONTAINER_REGISTRY_NAME pelo nome do seu registo privado.

    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'
    

    Observe que você não precisa entrar. O Bicep usa as informações de entrada do Azure PowerShell para autenticá-lo no Registro.

  2. Execute o seguinte comando para listar os artefatos em seu registro:

    Get-AzContainerRegistryRepository -RegistryName YOUR_CONTAINER_REGISTRY_NAME
    

    A saída mostra os nomes dos seus módulos:

    cdn
    website
    

Você também pode usar o portal do Azure para listar os módulos em seu registro. Na guia Visão geral do seu grupo de recursos, selecione e, em seguida, selecione YOUR_CONTAINER_REGISTRY_NAMERepositórios. Você se conecta ao portal do Azure posteriormente neste módulo.