Snabbstart: Publicera Bicep-moduler till ett privat modulregister
Lär dig hur du publicerar Bicep-moduler till registret för privata moduler och hur du anropar modulerna från dina Bicep-filer. Med registret för privata moduler kan du dela Bicep-moduler i din organisation. Mer information finns i Skapa privat register för Bicep-moduler.
Förutsättningar
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Om du vill arbeta med modulregister måste du ha Bicep CLI version 0.4.1008 eller senare. Om du vill använda med Azure CLI måste du också ha Azure CLI version 2.31.0 eller senare. Om du vill använda med Azure PowerShell måste du också ha Azure PowerShell version 7.0.0 eller senare.
Ett Bicep-register finns i Azure Container Registry (ACR). Information om hur du skapar ett finns i Snabbstart: Skapa ett containerregister med hjälp av en Bicep-fil.
Information om hur du konfigurerar din miljö för Bicep-utveckling finns i Installera Bicep-verktyg. När du har slutfört dessa steg har du Visual Studio Code och Bicep-tillägget eller Visual Studio och Bicep-tillägget.
Skapa Bicep-moduler
En modul är en Bicep-fil som distribueras från en annan Bicep-fil. Alla Bicep-filer kan användas som en modul. Du kan använda följande Bicep-fil i den här snabbstarten. Det skapar ett lagringskonto:
@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
Spara Bicep-filen som storage.bicep.
Publicera moduler
Om du inte har något Azure-containerregister (ACR) läser du Krav för att skapa ett. Inloggningsservernamnet för ACR behövs. Formatet för inloggningsserverns namn är: <registry-name>.azurecr.io
. Så här hämtar du inloggningsserverns namn:
az acr show --resource-group <resource-group-name> --name <registry-name> --query loginServer
Använd följande syntax för att publicera en Bicep-fil som en modul till ett privat modulregister.
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
I föregående exempel är ./storage.bicep den Bicep-fil som ska publiceras. Uppdatera filsökvägen om det behövs. Modulsökvägen har följande syntax:
br:<registry-name>.azurecr.io/<file-path>:<tag>
- br är schemanamnet för ett Bicep-register.
- filsökvägen anropas
repository
i Azure Container Registry. Filsökvägen kan innehålla segment som avgränsas med/
tecknet. Den här filsökvägen skapas om den inte finns i registret. - -taggen används för att ange en version för modulen.
Om du vill verifiera de publicerade modulerna kan du visa en lista över ACR-lagringsplatsen:
az acr repository list --name <registry-name> --output table
Anropa moduler
Om du vill anropa en modul skapar du en ny Bicep-fil i Visual Studio Code. I den nya Bicep-filen anger du följande rad.
module stgModule 'br:<registry-name>.azurecr.io/bicep/modules/storage:v1'
Ersätt <registernamnet> med ditt ACR-registernamn. Det tar en kort stund att återställa modulen till din lokala cache. När modulen har återställts försvinner den röda kladdiga linjen under modulsökvägen. I slutet av raden lägger du till = och ett blanksteg och väljer sedan obligatoriska egenskaper enligt följande skärmbild. Modulstrukturen fylls i automatiskt.
Följande exempel är en slutförd Bicep-fil.
@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
}
}
Spara Bicep-filen lokalt och använd sedan Azure CLI eller Azure PowerShell för att distribuera Bicep-filen:
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
Kontrollera att lagringskontot har skapats från Azure Portal.
Rensa resurser
När Azure-resurserna inte längre behövs använder du Azure CLI- eller Azure PowerShell-modulen för att ta bort snabbstartsresursgruppen.
resourceGroupName = "{provide-the-resource-group-name}"
az group delete --name $resourceGroupName