Guia de início rápido: publicar módulos Bicep no registro de módulo privado
Saiba como publicar módulos Bicep no registro de módulos privados e como chamar os módulos de seus arquivos Bicep. O registro de módulo privado permite que você compartilhe módulos Bicep dentro de sua organização. Para saber mais, consulte Criar registro privado para módulos Bicep.
Pré-requisitos
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Para trabalhar com registros de módulo, você deve ter a CLI do Bicep versão 0.4.1008 ou posterior. Para usar com a CLI do Azure, você também deve ter a CLI do Azure versão 2.31.0 ou posterior; para usar com o Azure PowerShell, você também deve ter o Azure PowerShell versão 7.0.0 ou posterior.
Um registro Bicep está hospedado no Azure Container Registry (ACR). Para criar um, consulte Guia de início rápido: criar um registro de contêiner usando um arquivo Bicep.
Para configurar seu ambiente para o desenvolvimento do Bicep, consulte Instalar ferramentas do Bicep. Depois de concluir essas etapas, você terá o Visual Studio Code e a extensão Bicep ou o Visual Studio e a extensão Bicep.
Criar módulos Bicep
Um módulo é um arquivo Bicep que é implantado a partir de outro arquivo Bicep. Qualquer arquivo Bicep pode ser usado como um módulo. Você pode usar o seguinte arquivo Bicep neste início rápido. Ele cria uma conta de armazenamento:
@minLength(3)
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_RAGRS'
'Standard_ZRS'
'Premium_LRS'
'Premium_ZRS'
'Standard_GZRS'
'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'
param location string
var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: uniqueStorageName
location: location
sku: {
name: storageSKU
}
kind: 'StorageV2'
properties: {
supportsHttpsTrafficOnly: true
}
}
output storageEndpoint object = stg.properties.primaryEndpoints
Salve o arquivo Bicep como storage.bicep.
Publicar módulos
Se você não tiver um registro de contêiner do Azure (ACR), consulte Pré-requisitos para criar um. O nome do servidor de login do ACR é necessário. O formato do nome do servidor de login é: <registry-name>.azurecr.io
. Para obter o nome do servidor de login:
az acr show --resource-group <resource-group-name> --name <registry-name> --query loginServer
Use a sintaxe a seguir para publicar um arquivo Bicep como um módulo em um registro de módulo privado.
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
No exemplo anterior, ./storage.bicep é o arquivo Bicep a ser publicado. Atualize o caminho do arquivo, se necessário. O caminho do módulo tem a seguinte sintaxe:
br:<registry-name>.azurecr.io/<file-path>:<tag>
- br é o nome do esquema para um registro Bicep.
- o caminho do arquivo é chamado
repository
no Registro de Contêiner do Azure. O caminho do/
arquivo pode conter segmentos separados pelo caractere. Esse caminho de arquivo é criado se ele não existir no registro. - tag é usada para especificar uma versão para o módulo.
Para verificar os módulos publicados, você pode listar o repositório ACR:
az acr repository list --name <registry-name> --output table
Módulos de chamada
Para chamar um módulo, crie um novo arquivo Bicep no Visual Studio Code. No novo ficheiro Bicep, introduza a seguinte linha.
module stgModule 'br:<registry-name>.azurecr.io/bicep/modules/storage:v1'
Substitua <o nome> do Registro pelo nome do Registro ACR. Leva um curto momento para restaurar o módulo para o cache local. Depois que o módulo for restaurado, a linha vermelha encaracolada abaixo do caminho do módulo desaparecerá. No final da linha, adicione = um espaço e selecione as propriedades necessárias, conforme mostrado na captura de tela a seguir. A estrutura do módulo é preenchida automaticamente.
O exemplo a seguir é um arquivo Bicep concluído.
@minLength(3)
@maxLength(11)
param namePrefix string
param location string = resourceGroup().location
module stgModule 'br:ace1207.azurecr.io/bicep/modules/storage:v1' = {
name: 'stgStorage'
params: {
location: location
storagePrefix: namePrefix
}
}
Salve o arquivo Bicep localmente e use a CLI do Azure ou o Azure PowerShell para implantar o arquivo Bicep:
resourceGroupName = "{provide-a-resource-group-name}"
templateFile="{provide-the-path-to-the-bicep-file}"
az group create --name $resourceGroupName --location eastus
az deployment group create --resource-group $resourceGroupName --template-file $templateFile
No portal do Azure, verifique se a conta de armazenamento foi criada com êxito.
Clean up resources (Limpar recursos)
Quando os recursos do Azure não forem mais necessários, use a CLI do Azure ou o módulo do Azure PowerShell para excluir o grupo de recursos de início rápido.
resourceGroupName = "{provide-the-resource-group-name}"
az group delete --name $resourceGroupName