Поделиться через


AzureResourceManagerTemplateDeployment@3 — задача развертывания шаблона ARM версии 3

Используйте эту задачу для развертывания шаблона Azure Resource Manager (ARM) во всех областях развертывания.

Синтаксис

# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
  inputs:
  # Azure Details
    deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
    azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection. 
    #subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription. 
    #action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
    #resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group. 
    #location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location. 
  # Template
    #templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
    #csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link. 
    #csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link. 
    #csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template. 
    #csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters. 
    #overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters. 
    #deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
  # Advanced
    #deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name. 
    #deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs. 
    #addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.
    #useWithoutJSON: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Use individual output values without JSON.Stringify applied. Default: false.
# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
  inputs:
  # Azure Details
    deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
    azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection. 
    #subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription. 
    #action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
    #resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group. 
    #location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location. 
  # Template
    #templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
    #csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link. 
    #csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link. 
    #csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template. 
    #csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters. 
    #overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters. 
    #deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
  # Advanced
    #deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name. 
    #deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs. 
    #addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.

Входные данные

deploymentScope - Область развертывания
string. Обязательный. Допустимые значения: Management Group, Subscription, Resource Group. Значение по умолчанию: Resource Group.

Область развертывания. Дополнительные сведения об областях развертывания.


azureResourceManagerConnection - Подключение azure Resource Manager
Входной псевдоним: ConnectedServiceName. string. Обязательный.

Указывает подключение службы azure Resource Manager с доступом к выбранному область развертывания.


subscriptionId - Подписки
Входной псевдоним: subscriptionName. string. Требуется при .deploymentScope != Management Group

Указывает подписку Azure.

Важно!

Указанное значение должно быть идентификатором подписки, а не именем подписки.


action - Действий
string. Требуется при .deploymentScope = Resource Group Допустимые значения: Create Or Update Resource Group, DeleteRG (удалить группу ресурсов). Значение по умолчанию: Create Or Update Resource Group.

Действие, выполняеме с ресурсами Или группой ресурсов Azure.


resourceGroupName - Группа ресурсов
string. Требуется при .deploymentScope = Resource Group

Предоставляет имя группы ресурсов.


location - Расположение
string. Требуется при .action = Create Or Update Resource Group || deploymentScope != Resource Group

Области развертывания группы ресурсов. Расположение для развертывания группы ресурсов. Если группа ресурсов уже существует в подписке Azure, это значение будет игнорироваться. Другие области развертывания. Расположение для хранения метаданных развертывания.


templateLocation - Расположение шаблона
string. Требуется при .action = Create Or Update Resource Group || deploymentScope != Resource Group Допустимые значения: Linked artifact, URL of the file. Значение по умолчанию: Linked artifact.

Расположение JSON-файлов шаблона и параметров. Выберите Связанный артефакт , если файлы являются частью связанного кода или артефактов сборки. Для связанных артефактов можно также указать путь к файлу Bicep. Выберите URL-адрес файла, если JSON-файлы находятся по любым общедоступным URL-адресам http/https. Чтобы использовать файл, хранящийся в частной учетной записи хранения, извлеките и включите маркер подписанного URL-адреса (SAS) в URL-адрес шаблона. Например, <blob_storage_url>/template.json?. Чтобы отправить файл параметров в учетную запись хранения и создать маркер SAS, можно использовать задачу копирования файлов Azure или выполнить действия с помощью PowerShell или Azure CLI.


csmFileLink - Ссылка на шаблон
string. Требуется при .templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group

Указывает URL-адрес файла шаблона. Пример URL-адреса: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json

Чтобы развернуть шаблон, хранящийся в частной учетной записи хранения, получите и включите маркер подписанного URL-адреса (SAS) в URL-адрес шаблона. Например, <blob_storage_url>/template.json?<SAStoken>. Чтобы отправить файл шаблона (или связанный шаблон) в учетную запись хранения и создать маркер SAS, используйте задачу копирования файлов Azure или выполните действия с помощью PowerShell или Azure CLI.

Чтобы просмотреть параметры шаблона в сетке ... , щелкните рядом с текстовым полем Переопределить параметры шаблона. Для использования этой функции требуется включить правила CORS в источнике. Если шаблоны находятся в большом двоичном объекте службы хранилища Azure, см. раздел Общий доступ к ресурсам независимо от источника , чтобы включить CORS.


csmParametersFileLink - Ссылка на параметры шаблона
string. Необязательный элемент. Используйте при templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Указывает URL-адрес файла параметров. Пример URL-адреса: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json

Чтобы использовать файл, хранящийся в частной учетной записи хранения, извлеките и включите маркер подписанного URL-адреса (SAS) в URL-адрес шаблона. Например, <blob_storage_url>/template.json?<SAStoken>. Чтобы отправить файл шаблона (или связанный шаблон) в учетную запись хранения и создать маркер SAS, используйте задачу копирования файлов Azure или выполните действия с помощью PowerShell или Azure CLI.

Чтобы просмотреть параметры шаблона в сетке ... , щелкните рядом с текстовым полем Переопределить параметры шаблона. Для использования этой функции требуется включить правила CORS в источнике. Если шаблоны находятся в большом двоичном объекте службы хранилища Azure, см. раздел Общий доступ к ресурсам независимо от источника , чтобы включить CORS.


csmFile - Шаблон
string. Требуется при .templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group

Указывает путь или шаблон, указывающий на шаблон azure Resource Manager. Дополнительные сведения о шаблонах Resource Manager Azure. Чтобы сразу приступить к работе, используйте этот пример шаблона. Поддерживает файлы Bicep в Azure CLI версии > 2.20.0.


csmParametersFile - Параметры шаблона
string. Необязательный элемент. Используйте при templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Укажите путь или шаблон, указывающий файл параметров для шаблона Resource Manager Azure. Поддерживает файлы Bicep Param в Azure CLI версии > 2.47.0.


overrideParameters - Переопределение параметров шаблона
string. Необязательный элемент. Используйте при action = Create Or Update Resource Group || deploymentScope != Resource Group.

Указывает параметры шаблона для переопределения.

Чтобы просмотреть параметры шаблона в сетке ... , щелкните рядом с текстовым полем Переопределение параметров. Для использования этой функции требуется включить правила CORS в источнике. Если шаблоны находятся в большом двоичном объекте хранилища Azure, укажите эту строку, чтобы включить CORS, или введите параметры шаблона для переопределения в текстовом поле.

Например, -storageName fabrikam -adminUsername $(vmusername) -adminPassword (ConvertTo-SecureString -String '$(password)' -AsPlainText -Force) -azureKeyVaultName $(fabrikamFibre).

Если значение параметра содержит несколько слов, заключите их в кавычки, даже если вы передаете значение с помощью переменных. Например, -name "parameter value" -name2 "$(var)". Чтобы переопределить параметры типа объекта, используйте строковые объекты JSON. Например, -options ["option1"] -map {"key1": "value1" }.


deploymentMode - Режим развертывания
string. Требуется при .action = Create Or Update Resource Group || deploymentScope != Resource Group Допустимые значения: Incremental, Complete, Validation (только проверка). Значение по умолчанию: Incremental.

Режим Incremental обрабатывает развертывания как добавочные обновления для группы ресурсов. Он оставляет без изменений ресурсы, которые существуют в группе ресурсов, но не указаны в шаблоне.

Complete режим удаляет ресурсы, которых нет в шаблоне. Полный режим занимает относительно больше времени, чем добавочный режим. Если время ожидания задачи истекло, рассмотрите возможность увеличения времени ожидания или перехода на Incremental режим .

Предупреждение

В полном режиме будут удалены все существующие ресурсы в группе ресурсов, которые не указаны в шаблоне. Убедитесь, что группа ресурсов, в которую вы развертываете, не содержит необходимых ресурсов, не указанных в шаблоне. Validate Mode позволяет находить проблемы с шаблоном перед созданием фактических ресурсов.

Примечание

Режим Validate всегда создает группу ресурсов, даже если ресурсы не развернуты. Дополнительные сведения о режимах развертывания.


deploymentName - Имя развертывания
string. Необязательный элемент. Используйте при action = Create Or Update Resource Group || deploymentScope != Resource Group.

Указывает имя создаваемого развертывания группы ресурсов.


deploymentOutputs - Выходные данные развертывания
string. Необязательный элемент. Используйте при action = Create Or Update Resource Group || deploymentScope != Resource Group.

Предоставляет имя переменной для выходной переменной, которая содержит раздел outputs текущего объекта развертывания в строковом формате. Вы можете использовать ConvertFrom-Json командлет PowerShell для анализа объекта JSON и доступа к отдельным выходным значениям. Дополнительные сведения о выходных данных развертывания.


addSpnToEnvironment - Доступ к сведениям о субъекте-службе в параметрах переопределения
boolean. Необязательный элемент. Используйте при action = Create Or Update Resource Group || deploymentScope != Resource Group. Значение по умолчанию: false.

Добавляет идентификатор субъекта-службы и ключ конечной точки Azure, выбранной в качестве среды выполнения скрипта. Переменные $servicePrincipalId и $servicePrincipalKey могут находиться в параметрах переопределения, таких как -key $servicePrincipalKey.


useWithoutJSON - Используйте отдельные выходные значения без JSON. Применено stringify
boolean. Необязательный элемент. Используйте при action = Create Or Update Resource Group || deploymentScope != Resource Group. Значение по умолчанию: false.

Отдельные выходные значения преобразуются с помощью JSON. Stringify по умолчанию. Если вы хотите использовать выходные значения без их преобразования с помощью JSON. Stringify, включите этот параметр. Дополнительные сведения см. в этой статье.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Примечание

Эта задача поддерживает файлы Bicep в Azure CLI версии > 2.20.0.

  • Добавлена поддержка развертывания во всех областях развертывания.
    • Удалены все действия, связанные с виртуальной машиной.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования None
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.119.1 или более поздней версии
Категория задач Развертывание