Udostępnij za pośrednictwem


Szybki start: publikowanie modułów Bicep w rejestrze modułów prywatnych

Dowiedz się, jak publikować moduły Bicep w rejestrze modułów prywatnych oraz jak wywoływać moduły z plików Bicep. Rejestr modułów prywatnych umożliwia udostępnianie modułów Bicep w organizacji. Aby dowiedzieć się więcej, zobacz Tworzenie rejestru prywatnego dla modułów Bicep.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Aby pracować z rejestrami modułów, musisz mieć interfejs wiersza polecenia Bicep w wersji 0.4.1008 lub nowszej. Aby korzystać z interfejsu wiersza polecenia platformy Azure, musisz mieć również interfejs wiersza polecenia platformy Azure w wersji 2.31.0 lub nowszej. Aby korzystać z programu Azure PowerShell, musisz mieć również program Azure PowerShell w wersji 7.0.0 lub nowszej.

Rejestr Bicep jest hostowany w usłudze Azure Container Registry (ACR). Aby go utworzyć, zobacz Szybki start: tworzenie rejestru kontenerów przy użyciu pliku Bicep.

Aby skonfigurować środowisko na potrzeby programowania aplikacji Bicep, zobacz Instalowanie narzędzi Bicep. Po wykonaniu tych kroków będziesz mieć program Visual Studio Code i rozszerzenie Bicep lub Visual Studio i rozszerzenie Bicep.

Tworzenie modułów Bicep

Moduł to plik Bicep wdrożony z innego pliku Bicep. Dowolny plik Bicep może służyć jako moduł. W tym przewodniku Szybki start możesz użyć następującego pliku Bicep. Tworzy konto magazynu:

@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

Zapisz plik Bicep jako storage.bicep.

Publikowanie modułów

Jeśli nie masz rejestru kontenerów platformy Azure (ACR), zobacz Wymagania wstępne dotyczące jego tworzenia. Wymagana jest nazwa serwera logowania usługi ACR. Format nazwy serwera logowania to: <registry-name>.azurecr.io. Aby uzyskać nazwę serwera logowania:

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

Użyj następującej składni, aby opublikować plik Bicep jako moduł w rejestrze modułów prywatnych.

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

W poprzednim przykładzie plik ./storage.bicep jest plikiem Bicep , który ma zostać opublikowany. W razie potrzeby zaktualizuj ścieżkę pliku. Ścieżka modułu ma następującą składnię:

br:<registry-name>.azurecr.io/<file-path>:<tag>
  • br to nazwa schematu rejestru Bicep.
  • Ścieżka pliku jest wywoływana repository w usłudze Azure Container Registry. Ścieżka pliku może zawierać segmenty oddzielone znakiem/. Ta ścieżka pliku jest tworzona, jeśli nie istnieje w rejestrze.
  • tag służy do określania wersji modułu.

Aby sprawdzić opublikowane moduły, możesz wyświetlić listę repozytorium usługi ACR:

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

Wywoływanie modułów

Aby wywołać moduł, utwórz nowy plik Bicep w programie Visual Studio Code. W nowym pliku Bicep wprowadź następujący wiersz.

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

Zastąp <ciąg registry-name> nazwą rejestru ACR. Przywrócenie modułu do lokalnej pamięci podręcznej zajmuje chwilę. Po przywróceniu modułu czerwona linia zwięźle poniżej ścieżki modułu zniknie. Na końcu wiersza dodaj = i spację, a następnie wybierz pozycję required-properties , jak pokazano na poniższym zrzucie ekranu. Struktura modułu jest wypełniana automatycznie.

Wymagane właściwości rozszerzenia Bicep programu Visual Studio Code

Poniższy przykład to ukończony plik 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
  }
}

Zapisz plik Bicep lokalnie, a następnie w celu wdrożenia pliku Bicep użyj interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell:

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

W witrynie Azure Portal sprawdź, czy konto magazynu zostało pomyślnie utworzone.

Czyszczenie zasobów

Gdy zasoby platformy Azure nie są już potrzebne, użyj interfejsu wiersza polecenia platformy Azure lub modułu Azure PowerShell, aby usunąć grupę zasobów szybkiego startu.

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

az group delete --name $resourceGroupName

Następne kroki