Używanie modułu z rejestru prywatnego

Ukończone

Wiesz już, jak publikować moduły w rejestrze prywatnym. W tej lekcji dowiesz się, jak używać modułów, które znajdują się już w rejestrze w ramach szablonu Bicep.

Korzystanie z modułu Bicep

Po znalezieniu modułu, którego chcesz użyć, należy utworzyć definicję modułu w szablonie Bicep. Oto przykład:

module myModule 'br:myregistry.azurecr.io/modulepath/modulename:moduleversion' = {
  name: 'my-module'
  params: {
    moduleParameter1: 'value'
  }
}

Zwróć uwagę, że definicja modułu jest podobna do definicji modułu lokalnego, ale z jedną ważną różnicą. Zamiast określać ścieżkę do pliku Bicep w systemie plików, należy dołączyć ścieżkę do modułu w rejestrze.

Po dodaniu odwołania do modułu program Visual Studio Code próbuje automatycznie pobrać moduł z rejestru. Po pobraniu modułu rozszerzenie Bicep dla programu Visual Studio Code zapewnia funkcję IntelliSense i inną pomoc w tworzeniu kodu podczas pracy.

Aliasy

Aby uprościć definicje modułu, możesz użyć aliasu rejestru. Zamiast określać nazwę rejestru za każdym razem, gdy zdefiniujesz moduł, użyj jego aliasu. Aliasy pomagają na kilka sposobów:

  • Mogą one zachować bicep plik tidier i pomóc uniknąć wpisywania pełnej nazwy rejestru wielokrotnie.
  • Jeśli zmienisz nowy rejestr w przyszłości, możesz zaktualizować alias zamiast aktualizować każde odwołanie do niego.
  • Niektóre organizacje muszą używać różnych rejestrów w różnych sytuacjach, takich jak środowiska programistyczne i produkcyjne. Rejestr, do którego odwołuje się alias, można zmienić, modyfikując plik konfiguracji. Następnie zmiana dotyczy wszystkich plików Bicep w folderze.

Aby zdefiniować alias, należy utworzyć plik bicepconfig.json w tym samym folderze co plik Bicep. W pliku bicepconfig.json należy zdefiniować aliasy, jak w tym przykładzie:

{
  "moduleAliases": {
    "br": {
      "MyRegistry": {
        "registry": "myregistry.azurecr.io"
      }
    }
  }
}

Podczas definiowania modułu w pliku Bicep należy użyć nieco innego typu ścieżki modułu, która zawiera alias:

module myModule 'br/MyRegistry:bicep/my-module:v1' = {
  // ...
}

Napiwek

Zwróć uwagę, że początek ścieżki jest br/ wtedy, gdy używasz aliasu i br: gdy nie.

Alias może również zawierać ścieżkę do modułów w rejestrze, co jest przydatne, jeśli używasz wspólnego prefiksu dla modułów:

{
  "moduleAliases": {
    "br": {
      "MyRegistryWithPath": {
        "registry": "myregistry.azurecr.io",
        "modulePath": "bicep"
      }
    }
  }
}

Następnie możesz pominąć ścieżkę podczas definiowania modułu w pliku Bicep:

module myModule 'br/MyRegistryWithPath:my-module:v1' = {
  // ...
}

Kompilowanie pliku Bicep

Gdy wszystko będzie gotowe do wdrożenia pliku Bicep, należy wdrożyć go tak jak zwykle. Bicep pobiera moduł z rejestru automatycznie w ramach procesu wdrażania. Bicep osadza wszystkie moduły, do których odwołujesz się do transpilowanego szablonu usługi ARM, który jest plikiem JSON.

Proces pobierania modułu można również oddzielić od kompilacji za pomocą bicep restore polecenia . Następnie możesz użyć bicep build polecenia z --no-restore przełącznikiem wiersza polecenia, aby zatrzymać proces kompilacji przed pobraniem modułu. Ogólnie rzecz biorąc, nie trzeba oddzielać modułów i pozwolić Bicepowi na automatyczne pobranie modułów.