Использование кнопки развертывания для развертывания шаблонов из удаленного расположения
В этой статье описывается, как использовать кнопку Развертывание в Azure для развертывания шаблонов JSON ARM из репозитория GitHub или учетной записи хранения Azure. Вы можете добавить эту кнопку прямо в файл README.md в репозитории GitHub. Также ее можно добавить на веб-страницу, которая ссылается на репозиторий. Этот метод не поддерживает развертывание файлов Bicep из удаленного расположения.
Область развертывания определяется схемой шаблона. Дополнительные сведения см. в разделе:
Необходимые разрешения
Для развертывания файла Bicep или шаблона ARM необходим доступ с правом записи для развертываемых ресурсов и доступ ко всем операциям с типом ресурсов Microsoft.Resources/deployments. Например, для развертывания виртуальной машины необходимы разрешения Microsoft.Compute/virtualMachines/write
и Microsoft.Resources/deployments/*
. Операция what-if имеет те же требования к разрешениям.
Список ролей и разрешений см. в статье Встроенные роли Azure.
Использование стандартного изображения
Чтобы добавить кнопку на веб-страницу или в репозиторий, используйте следующее изображение:
![Deploy to Azure](https://aka.ms/deploytoazurebutton)
<img src="https://aka.ms/deploytoazurebutton"/>
Это изображение отображается так:
Создание URL-адреса для развертывания шаблона
В этом разделе показано, как получить URL-адреса для шаблонов, хранящихся в GitHub и учетной записи хранения Azure, а также как форматировать URL-адреса.
Шаблон, хранящийся в GitHub
Чтобы создать URL-адрес для шаблона, получите необработанный URL-адрес шаблона из репозитория GitHub. Необработанный URL-адрес можно получить, щелкнув ссылку Raw (Необработанный формат).
Этот URL-адрес имеет следующий формат:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Примечание.
Чтобы развернуть шаблон или создать ссылку на связанный шаблон, хранящийся в частном репозитории GitHub, ознакомьтесь с пользовательским решением, документированным в записи блога Создание пользовательского и безопасного предложения для портала Azure. Вы можете создать функцию Azure, которая извлекает токен GitHub из Azure Key Vault.
Если вместо репозитория GitHub вы используете Git с Azure Repos, вы также можете использовать кнопку Развертывание в Azure. Убедитесь, что репозиторий является общедоступным. Выполните операцию Items для получения шаблона. Запрос должен иметь следующий формат:
https://dev.azure.com/{organization-name}/{project-name}/_apis/git/repositories/{repository-name}/items?scopePath={url-encoded-path}&api-version=6.0
Шаблон, хранящийся в учетной записи хранения Azure
Формат URL-адресов для шаблонов, хранящихся в общедоступном контейнере:
https://{storage-account-name}.blob.core.windows.net/{container-name}/{template-file-name}
Например:
https://demostorage0215.blob.core.windows.net/democontainer/azuredeploy.json
Вы можете защитить шаблон с помощью маркера SAS. Дополнительные сведения см. в статье Развертывание частного шаблона ARM с маркером SAS. Вот пример URL-адреса с маркером SAS:
https://demostorage0215.blob.core.windows.net/privatecontainer/azuredeploy.json?sv=2019-07-07&sr=b&sig=rnI8%2FvKoCHmvmP7XvfspfyzdHjtN4GPsSqB8qMI9FAo%3D&se=2022-02-16T17%3A47%3A46Z&sp=r
Форматирование URL-адреса
Получив URL-адрес, его необходимо преобразовать в закодированное значение URL-адреса. Для этого можно использовать онлайн-кодировщик или выполнить команду. В следующем примере PowerShell применяется кодирование в виде URL-адреса.
$url = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
[uri]::EscapeDataString($url)
URL-адрес из нашего примера после кодирования будет выглядеть так:
https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json
Каждая ссылка начинается с одного базового URL-адреса:
https://portal.azure.com/#create/Microsoft.Template/uri/
Добавьте ссылку на шаблон в кодировке URL-адреса в конец базового URL-адреса.
https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json
Теперь у вас есть полный URL-адрес для ссылки.
Создание кнопки "Развертывание в Azure"
Наконец, совместите эту ссылку и изображение.
Чтобы добавить кнопку в разметке Markdown в файл README.md, размещенный в репозитории GitHub, или на веб-страницу, используйте:
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json)
Для HTML:
<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json" target="_blank">
<img src="https://aka.ms/deploytoazurebutton"/>
</a>
Для Git с Azure Repos:
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fdev.azure.com%2Forgname%2Fprojectname%2F_apis%2Fgit%2Frepositories%2Freponame%2Fitems%3FscopePath%3D%2freponame%2fazuredeploy.json%26api-version%3D6.0)
Развертывание шаблона
Чтобы протестировать готовое решение, нажмите следующую кнопку:
На портале отобразится панель для ввода значений параметров. Эти параметры предварительно заполняются стандартными значениями из шаблона. Имя параметра в "верблюжьем" стиле storageAccountType, определенное в шаблоне, при отображении на портале преобразуется в строку, разделенную пробелами.
Следующие шаги
- Дополнительные сведения о шаблонах см. в статье Общие сведения о структуре и синтаксисе шаблонов ARM.