Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Запускайте команды Azure CLI против подписки Azure в скрипте PowerShell Core/Shell при работе на Linux agent или PowerShell/PowerShell Core/Batch при работе на Windows agent.
Замечание
Эта задача выпущена в рамках функции Access Azure DevOps с Microsoft Entra идентичностью рабочей нагрузки и будет реализована на этой и следующей неделе. Если вы ещё не видите эту функцию в вашем проекте Azure DevOps Services, загляните через несколько дней.
Синтаксис
# Azure CLI v3
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
- task: AzureCLI@3
inputs:
connectionType: 'azureRM' # 'azureRM' | 'azureDevOps'. Required. Connection Type. Default: azureRM.
azureSubscription: # string. Alias: connectedServiceNameARM. Required when connectionType = azureRM. Azure Resource Manager connection.
#azureDevOpsServiceConnection: # string. Required when connectionType = azureDevOps. Azure DevOps Service Connection.
scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type.
scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
scriptPath: # string. Required when scriptLocation = scriptPath. Script Path.
#inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script.
#arguments: # string. Alias: scriptArguments. Script Arguments.
#powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
# Advanced
#addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
#useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
#workingDirectory: # string. Alias: cwd. Working Directory.
#failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
#powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.
#visibleAzLogin: true # boolean. az login output visibility. Default: true.
#allowNoSubscriptions: false # boolean. Allow no Azure subscriptions. Default: false.
#keepAzSessionActive: false # boolean. [Experimental] Keep Azure CLI session active. Default: false.
Входные данные
connectionType
-
тип подключения
string. Обязательно. Допустимые значения: azureRM (Azure Resource Manager), azureDevOps (Azure DevOps). Значение по умолчанию: azureRM.
Тип подключения к сервису для использования.
azureSubscription
-
Azure Resource Manager соединение
Псевдоним ввода: connectedServiceNameARM.
string. Требуется, если connectionType = azureRM.
Укажите сервисное соединение Azure Resource Manager для развертывания.
azureDevOpsServiceConnection
-
Azure DevOps сервисное соединение
string. Требуется, если connectionType = azureDevOps.
Specify an Azure DevOps service connection.
типа скрипта scriptType -
string. Обязательно. Допустимые значения: ps (PowerShell), pscore (PowerShell Core), batch, bash (оболочка).
Тип скрипта. При запуске агента Linux выберите скрипт bash или pscore. Или выберите скрипт batch, ps или pscore при работе на Windows агенте. Скрипт pscore может работать на кроссплатформенных агентах (Linux, macOS или Windows).
расположения скриптов scriptLocation -
string. Обязательно. Допустимые значения: inlineScript (встроенный скрипт), scriptPath (путь к скрипту). Значение по умолчанию: scriptPath.
Путь к скрипту: Путь к файлу или встроенный скрипт.
Путьк скрипту scriptPath -
string. Требуется, если scriptLocation = scriptPath.
Полный путь к скрипту. Используйте .ps1, .bat или .cmd при использовании агента на основе Windows. Используйте .ps1 или .sh при использовании агента на основе Linux или пути относительно рабочего каталога по умолчанию.
inlineScript
-
Встроенный скрипт
string. Требуется, если scriptLocation = inlineScript.
Вы можете написать встроенные скрипты здесь. При использовании агента Windows используйте PowerShell, PowerShell Core или пакетное скриптирование. Используйте скрипты PowerShell Core или оболочки при использовании агентов на основе Linux. Для пакетных файлов используйте префикс call перед каждой Azure командой. Вы также можете передавать предопределенные и пользовательские переменные в этот скрипт с помощью аргументов.
Ниже приведен пример powerShell/PowerShellCore/shell.
az --version
az account show
Ниже приведен пример пакетной службы.
call az --version
call az account show
Аргументы скрипта arguments -
Псевдоним ввода: scriptArguments.
string.
Аргументы, переданные скрипту.
powerShellErrorActionPreference
-
ErrorActionPreference (Предпочтения ErrorAction)
string. Необязательно. Используется при scriptType = ps || scriptType = pscore. Допустимые значения: stop, continue, silentlyContinue. Значение по умолчанию: stop.
Добавляет строку $ErrorActionPreference = 'VALUE' в верхней части вашего core-скрипта powershell/powershell.
addSpnToEnvironment
-
Сведения о субъекте-службе Access в скрипте
boolean. Значение по умолчанию: false.
Добавляет идентификатор принципала сервиса, ключевой ключ сервиса и идентификатор tenant выбранной вами конечной точки Azure в среду выполнения скрипта. Вы можете использовать переменные: servicePrincipalId, servicePrincipalKey и tenantId в вашем скрипте.
Это соблюдается только при использовании схемы аутентификации Azure Principal.
Синтаксис для доступа к переменным среды на основе типа скрипта.
Скрипт Powershell: $env:servicePrincipalId
Партийный сценарий: %servicePrincipalId%
Скрипт для ракушки: $servicePrincipalId.
useGlobalConfig
-
Использовать глобальную Azure CLI конфигурацию
boolean. Значение по умолчанию: false.
Если этот ввод ошибочный, задача будет использовать отдельный Azure CLI конфигурационный каталог. Это можно использовать для выполнения Azure CLI задач в релизах parallel.
workingDirectory
-
рабочий каталог
Псевдоним ввода: cwd.
string.
Укажите рабочую директорию, где выполняется скрипт. Если оставить пустым, то по умолчанию является корень репозитория (сборка) или артефакты (релиз), то есть []$(System.DefaultWorkingDirectory)](/azure/devops/pipelines/build/variables#system-variables).
failOnStandardError
-
сбой стандартной ошибки
boolean. Значение по умолчанию: false.
Если это так, задача провалится, если ошибки будут записаны в поток StandardError. Снимите флажок, чтобы игнорировать стандартные ошибки и использовать коды выхода для определения состояния.
powerShellIgnoreLASTEXITCODE
-
игнорировать $LASTEXITCODE
boolean. Необязательно. Используется при scriptType = ps || scriptType = pscore. Значение по умолчанию: false.
Если это неверно, строка if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } добавляется к концу вашего сценария. Это приведёт к тому, что последний выходной код из внешней команды будет распространяться как код выхода powershell. В противном случае строка не добавляется в конце вашего сценария.
visibleAzLogin
-
az login output видимость
boolean. Значение по умолчанию: true.
Если задано значение true, команда az login выводится в задачу. Если задано значение false, он подавляет выходные данные az login.
allowNoSubscriptions
-
Не разрешайте подписки Azure
boolean. Значение по умолчанию: false.
Если это верно, задача не будет пытаться задать контекст подписки и позволит войти там, где идентичность не имеет доступа к подпискам. Также можно добавить полностью нулевый SubscriptionID (0000000-0000-0000-00000-00000000000) в сервисном соединении, чтобы неявно не устанавливать контекст подписки.
keepAzSessionActive
-
[Экспериментально] Поддерживайте Azure CLI сессию активной
boolean. Значение по умолчанию: false.
При включении эта задача будет постоянно входить в Azure, чтобы избежать AADSTS700024 ошибок при запросе токена доступа после истечения срока действия IdToken. Обратите внимание, что эта функция ЭКСПЕРИМЕНТАЛЬНАЯ, может работать не во всех ситуациях, и вы используете её без каких-либо гарантий. Действует только для сервисных соединений с использованием схемы аутентификации Workload Identity Federation.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Что нового в задаче версии версии 3.0
- Поддержка dual connection types: Azure Resource Manager и Azure DevOps service connections.
- Azure DevOps CLI integration with automatic extension installation and configuration.
- Workload Identity Federation support for Azure DevOps connections.
- Добавлена опция «Разрешить никаких подписок Azure» для поддержки идентичностей без доступа к подписке.
Необходимые условия
- Подписка Microsoft Azure.
- Azure Resource Manager сервисное подключение к вашему Azure аккаунту.
- Майкрософт Hosted Agents имеют предварительно установленный Azure CLI. Однако если вы используете частных агентов, install Azure CLI на компьютеры, где запускается билд и release agent. Если агент уже работает на машине, на которой установлен Azure CLI, перезапустите агент, чтобы убедиться, что все соответствующие переменные этапа обновлены.
Требования
| Требование | Описание |
|---|---|
| Типы конвейеров | YAML, классическая сборка, классический выпуск |
| Выполняется в | Агент, DeploymentGroup |
| Требования | Нет |
| Возможности | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
| ограничения команд | Любое |
| переменные settable | Любое |
| Версия агента | 2.0.0 или более поздней версии |
| Категория задач | Развернуть |