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


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 (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file. Template link. 
    #csmParametersFileLink: # string. Optional. Use when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file. Template parameters link. 
    #csmFile: # string. Required when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact. Template. 
    #csmParametersFile: # string. Optional. Use when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact. 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 (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file. Template link. 
    #csmParametersFileLink: # string. Optional. Use when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file. Template parameters link. 
    #csmFile: # string. Required when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact. Template. 
    #csmParametersFile: # string. Optional. Use when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact. 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-адреса шаблона. Пример: <blob_storage_url>/template.json?. Чтобы отправить файл параметров в учетную запись хранения и создать маркер SAS, можно использовать задачу копирования файлов Azure или выполнить действия с помощью PowerShell или Azure CLI.


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

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

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

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


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

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

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

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


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

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


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

Укажите путь или шаблон, указывающий на файл параметров для шаблона Azure Resource Manager. Поддерживает файлы 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 позволяет находить проблемы с шаблоном перед созданием фактических ресурсов.

Заметка

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


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

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


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

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


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

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


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

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


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

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

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

Никакой.

Замечания

Заметка

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

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

Требования

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