Exercício - Publicar um módulo no seu registo
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.
Abra o Visual Studio Code.
Crie um novo arquivo chamado website.bicep.
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@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
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.
Crie um novo arquivo chamado cdn.bicep.
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@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
Guarde o ficheiro.
Publique os módulos no seu registo
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 precisou entrar. O Bicep usa as informações de entrada da CLI do Azure para autenticá-lo no Registro.
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" ]
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 precisou entrar. O Bicep usa as informações de entrada do Azure PowerShell para autenticá-lo no Registro.
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 YOUR_CONTAINER_REGISTRY_NAME
e, em seguida, selecione Repositórios. Você se conecta ao portal do Azure posteriormente neste módulo.