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