Rychlý start: Publikování modulů Bicep do privátního registru modulů

Zjistěte, jak publikovat moduly Bicep do registru privátních modulů a jak moduly volat ze souborů Bicep. Privátní registr modulů umožňuje sdílet moduly Bicep v rámci vaší organizace. Další informace najdete v tématu Vytvoření privátního registru pro moduly Bicep. Pokud chcete přispívat do veřejného registru modulů, projděte si průvodce přispívání.

Požadavky

Pokud předplatné Azure ještě nemáte, napřed si vytvořte bezplatný účet.

Pokud chcete pracovat s registry modulů, musíte mít Rozhraní příkazového řádku Bicep verze 0.4.1008 nebo novější. Pokud chcete používat s Azure CLI, musíte mít také Azure CLI verze 2.31.0 nebo novější. pokud chcete používat s Azure PowerShell, musíte mít také Azure PowerShell verzi 7.0.0 nebo novější.

Registr Bicep je hostovaný na Azure Container Registry (ACR). Pokud ho chcete vytvořit, přečtěte si rychlý start: Vytvoření registru kontejneru pomocí souboru Bicep.

Informace o nastavení prostředí pro vývoj bicep najdete v tématu Instalace nástrojů Bicep. Po dokončení těchto kroků budete mít Visual Studio Code a rozšíření Bicep nebo Visual Studio a rozšíření Bicep.

Vytváření modulů Bicep

Modul je soubor Bicep nasazený z jiného souboru Bicep. Jakýkoli soubor Bicep se dá použít jako modul. V tomto rychlém startu můžete použít následující soubor Bicep. Vytvoří účet úložiště:

@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@2021-06-01' = {
  name: uniqueStorageName
  location: location
  sku: {
    name: storageSKU
  }
  kind: 'StorageV2'
  properties: {
    supportsHttpsTrafficOnly: true
  }
}

output storageEndpoint object = stg.properties.primaryEndpoints

Uložte soubor Bicep jako storage.bicep.

Publikování modulů

Pokud nemáte registr kontejneru Azure (ACR), projděte si požadavky na jeho vytvoření. Je potřeba název přihlašovacího serveru služby ACR. Formát názvu přihlašovacího serveru je: <registry-name>.azurecr.io. Získání názvu přihlašovacího serveru:

az acr show --resource-group <resource-group-name> --name <registry-name> --query loginServer

Pomocí následující syntaxe publikujte soubor Bicep jako modul do privátního registru modulů.

az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html

V předchozí ukázce je soubor ./storage.bicep , který se má publikovat. V případě potřeby aktualizujte cestu k souboru. Cesta k modulu má následující syntaxi:

br:<registry-name>.azurecr.io/<file-path>:<tag>
  • br je název schématu registru Bicep.
  • v Azure Container Registry se volá repositorycesta k souboru. Cesta k souboru může obsahovat segmenty oddělené znakem / . Tato cesta k souboru se vytvoří, pokud v registru neexistuje.
  • tag slouží k určení verze modulu.

Pokud chcete ověřit publikované moduly, můžete uvést úložiště ACR:

az acr repository list --name <registry-name> --output table

Volání modulů

Pokud chcete volat modul, vytvořte v editoru Visual Studio Code nový soubor Bicep. Do nového souboru Bicep zadejte následující řádek.

module stgModule 'br:<registry-name>.azurecr.io/bicep/modules/storage:v1'

Nahraďte <registry-name> názvem vašeho registru ACR. Obnovení modulu do místní mezipaměti chvíli trvá. Po obnovení modulu zmizí červená složená čára pod cestou modulu. Na konci řádku přidejte = mezeru a a pak vyberte požadované vlastnosti , jak je znázorněno na následujícím snímku obrazovky. Struktura modulu se vyplní automaticky.

Požadované vlastnosti rozšíření Bicep v editoru Visual Studio Code

Následující příklad je dokončený soubor Bicep.

@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
  }
}

Uložte soubor Bicep místně a pak pomocí Azure CLI nebo Azure PowerShell nasaďte soubor 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

V Azure Portal ověřte úspěšné vytvoření účtu úložiště.

Vyčištění prostředků

Pokud už prostředky Azure nepotřebujete, pomocí azure CLI nebo modulu Azure PowerShell odstraňte skupinu prostředků rychlého startu.

resourceGroupName = "{provide-the-resource-group-name}"

az group delete --name $resourceGroupName

Další kroky