Przeglądając repozytorium na GitHubie z szablonami ARM zaciekawił mnie przycisk Deploy to Azure. Myślałem, że jest to coś skomplikowanego, ale jak się okazało, nie miałem racji i jego działanie, jak i sama konfiguracja, jest banalnie prosta.
Dla celów demonstracyjnych przygotowałem taki przykładowy przycisk:

Po jego kliknięciu jesteśmy przenoszeni do portalu Azure, gdzie po wypełnieniu parametrów wdrożona zostanie usługa Storage Account. Konfiguracja przycisku jest banalnie prosta - wykorzystuje on prosty szablon ARM oraz przygotowany przez Azure adres url, który wygląda następująco:

https://portal.azure.com/#create/Microsoft.Template/uri/ARM_TEMPLATE_URL

ARM_TEMPLATE_URL jest adresem prowadzącym do naszego szablonu, w moim przypadku jest to:

https://raw.githubusercontent.com/pelicandev/deploy-to-azure-button-demo/main/azuredeploy.json

Powyższy adres należy najpierw zakodować do formatu URL-encoded, można to zrobić za pomocą przykładowego konwertera online. Po zakodowaniu adres wygląda następująco:

https%3A%2F%2Fraw.githubusercontent.com%2Fpelicandev%2Fdeploy-to-azure-button-demo%2Fmain%2Fazuredeploy.json

Nie pozostało już nic innego jak wykorzystać składnię HTML do podlinkowania adresu pod obrazkiem:

<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fpelicandev%2Fdeploy-to-azure-button-demo%2Fmain%2Fazuredeploy.json" target="_blank">
  <img src="https://aka.ms/deploytoazurebutton">
</a>

W przypadku pliku Markdown na GitHubie będzie to poniższa składnia:

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fpelicandev%2Fdeploy-to-azure-button-demo%2Fmain%2Fazuredeploy.json)

Jak widać nie jest to nic skomplikowanego - ot cała tajemnica dotycząca przycisku Deploy to Azure 🙂