Azure Bicep – Module zur Wiederverwendung für das ganze Team in Azure Container Registry veröffentlichen

Azure Bicep wird verwendet, um Ressourcen in Azure bereitzustellen und kann auch die gesamte Infrastruktur eines Projekts definieren. Diese Sprache ist – im Gegensatz zu ARM – benutzerfreundlicher und erzeugt beim Bereitstellen der Ressourcen immer ein konstantes und wiederholbares Ergebnis. Wenn der Entwickler seine Bicep Dateien als Module für seine Kollegen zur Verfügung stellen möchte, kann er die Dateien in einer Bicep Registry veröffentlichen. Sobald die Bicep Dateien in der Registry veröffentlicht wurden, können diese wiederum in den Bicep Dateien referenziert werden. Die Bicep Registry wird in Azure durch die Azure Container Registry bereitgestellt. Anhand des folgenden Beispiels wird der Ablauf im Folgenden genauer erläutert.

1. Mithilfe der Azure CLI wird mit dem Befehl

eine Instanz der Azure Container Registry in der gewünschten Ressourcengruppe erzeugt. Nach der Bereitstellung können jetzt Bicep Dateien veröffentlicht werden.

2. In diesem Beispiel definiert die Bicep Datei, dass ein App Service Plan mit der SKU „S1“ und vom Typ „Windows“ bereitgestellt werden soll. Außerdem wird darauffolgend eine FunctionApp definiert, die im App Service Plan gehostet werden soll. Die notwendigen Parameter sind der Name der FunctionApp und des App Service Plans.

3. Die Bicep Datei kann nun mit

in der Bicep Registry veröffentlicht werden. Der Befehl benötigt die Bicep Datei und den Zielpfad.

Der Pfad besteht aus:

  • br, ist ein Kürzel für Bicep Registry
  • arcquibiq.azurecr.io, dem Namen der Registry
  • solution, ist die Kennung des Modules
  •  0.0.1, ist die Versionierung des Modules

Mit diesem Pfad kann das veröffentlichte Modul in anderen Bicep Dateien referenziert werden.

4. Das Referenzieren kann erleichtert werden, indem ein Alias anlegt wird. Hierfür wird eine bicepconfig JSON Datei im selben Ordner erstellt und in dieser dann ein Alias für die Bicep Registry angelegt.

Dank des Alias kann statt „arcquibiq.azurecr.io“ nur noch „arcquibiq“ angegeben werden, dass besonders bei sehr häufigen Verweisen hilfreich ist.

5. Mit dem Befehl

kann nun die Bicep Datei mit dem referenzierten Modul bereitgestellt werden. Das Ergebnis sind die Ressourcen „test4Quibiq“ und „asp-test4quibiq“.

Das veröffentlichte Modul im Beispiel demonstriert, wie ein Entwickler Bicep Module anderen Entwicklern bereitstellen kann. Diese Module müssen sich dabei nicht auf zwei Ressourcen beschränken, sondern können auch komplexere Infrastrukturen bereitstellen.

Quellen:

https://learn.microsoft.com/en-us/cli/azure/acr?view=azure-cli-latest

https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview?tabs=bicep

https://learn.microsoft.com/de-de/cli/azure/bicep?view=azure-cli-latest

https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/bicep-config

 

Dieser Tipp kommt aus Stuttgart von Maic Schellig.