Partilhar via


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.

Propriedades necessárias da extensão Bicep do Visual Studio Code

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

Próximos passos