AzureCLI@2: tarea de la CLI de Azure v2
Ejecute comandos de la CLI de Azure en una suscripción de Azure en un script de PowerShell Core o shell cuando se ejecute en el agente de Linux. O bien, ejecute comandos de la CLI de Azure en una suscripción de Azure en un script de PowerShell, PowerShell Core o batch cuando se ejecute en el agente de Windows.
Ejecute comandos de la CLI de Azure en una suscripción de Azure en un script de PowerShell Core o shell cuando se ejecute en el agente de Linux. O bien, ejecute comandos de la CLI de Azure en una suscripción de Azure en un script de PowerShell, PowerShell Core o batch cuando se ejecute en el agente de Windows.
Syntax
# Azure CLI v2
# 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@2
inputs:
azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager 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.
# Azure CLI v2
# 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@2
inputs:
azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager 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.
Entradas
azureSubscription
- Conexión de Azure Resource Manager
Alias de entrada: connectedServiceNameARM
. string
. Obligatorio.
Seleccione una conexión de servicio de Azure Resource Manager para la implementación.
scriptType
- Tipo de script
string
. Obligatorio. Valores permitidos: ps
(PowerShell), pscore
(PowerShell Core), batch
, bash
(Shell).
Tipo de script. Seleccione un bash
script o pscore
cuando se ejecute en el agente de Linux. O bien, seleccione un batch
script , ps
o pscore
cuando se ejecute en el agente de Windows. Un pscore
script se puede ejecutar en agentes multiplataforma (Linux, macOS o Windows).
scriptType
- Tipo de script
string
. Obligatorio. Valores permitidos: ps
(Powershell), pscore
(Powershell Core), batch
, bash
(Shell).
Tipo de script. Seleccione un bash
script o pscore
cuando se ejecute en el agente de Linux. O bien, seleccione un batch
script , ps
o pscore
cuando se ejecute en el agente de Windows. Un pscore
script se puede ejecutar en agentes multiplataforma (Linux, macOS o Windows).
scriptLocation
- Ubicación del script
string
. Obligatorio. Valores permitidos: inlineScript
(script insertado), scriptPath
(ruta de acceso del script). Valor predeterminado: scriptPath
.
Ruta de acceso al script.
scriptPath
- Ruta de acceso del script
string
. Necesario cuando scriptLocation = scriptPath
.
Ruta de acceso completa del script. Use .ps1
, .bat
o .cmd
cuando use el agente basado en Windows. Use o .sh
cuando use .ps1
un agente basado en Linux o una ruta de acceso relativa al directorio de trabajo predeterminado.
inlineScript
- Script insertado
string
. Necesario cuando scriptLocation = inlineScript
.
Puede escribir los scripts en línea aquí. Al usar el agente de Windows, use PowerShell, PowerShell Core o scripting por lotes. Use PowerShell Core o scripting de shell al usar agentes basados en Linux. En el caso de los archivos por lotes, use el prefijo call
antes de cada comando de Azure. También puede pasar variables predefinidas y personalizadas a este script mediante argumentos.
A continuación se muestra un ejemplo de PowerShell/PowerShellCore/shell.
az --version
az account show
A continuación se muestra un ejemplo de lote.
call az --version
call az account show
arguments
- Argumentos de script
Alias de entrada: scriptArguments
. string
.
Argumentos pasados al script.
powerShellErrorActionPreference
- ErrorActionPreference
string
. Opcional. Use cuando scriptType = ps || scriptType = pscore
. Valores permitidos: stop
, continue
y silentlyContinue
. Valor predeterminado: stop
.
Antepone la línea $ErrorActionPreference = 'VALUE'
en la parte superior del script de PowerShell o PowerShell Core.
addSpnToEnvironment
- Acceso a los detalles de la entidad de servicio en el script
boolean
. Valor predeterminado: false
.
Agrega el identificador de entidad de servicio, la clave de entidad de servicio o el token de federación de identidad de carga de trabajo y el identificador de inquilino del punto de conexión de Azure que eligió en el entorno de ejecución del script. Puede usar las servicePrincipalId
variables , servicePrincipalKey
o idToken
, y tenantId
en el script.
Esto solo se respeta cuando el punto de conexión de Azure tiene esquema de autenticación de entidad de servicio o esquema de autenticación de federación de identidad de carga de trabajo.
En la lista siguiente se muestra la sintaxis para tener acceso a variables de entorno basadas en el tipo de script.
Sintaxis de script de PowerShell:
$env:servicePrincipalId
Sintaxis de script por lotes:
%servicePrincipalId%
Sintaxis de script de shell:
$servicePrincipalId
useGlobalConfig
- Uso de la configuración global de la CLI de Azure
boolean
. Valor predeterminado: false
.
Si esta entrada es false, esta tarea usará su propio directorio de configuración de la CLI de Azure. Use esta tarea para ejecutar tareas de la CLI de Azure en versiones paralelas .
workingDirectory
- Directorio de trabajo
Alias de entrada: cwd
. string
.
Directorio de trabajo actual donde se ejecuta el script. Si se deja en blanco, esta entrada es la raíz del repositorio (compilación) o artefactos (versión), que es $(System.DefaultWorkingDirectory)
.
failOnStandardError
- Error en el error estándar
boolean
. Valor predeterminado: false
.
Si esta entrada es true, se producirá un error en esta tarea cuando se escriban errores en la secuencia StandardError. Desactive la casilla para omitir los errores estándar y, en su lugar, confíe en los códigos de salida para determinar el estado.
powerShellIgnoreLASTEXITCODE
- Omitir $LASTEXITCODE
boolean
. Opcional. Use cuando scriptType = ps || scriptType = pscore
. Valor predeterminado: false
.
Si esta entrada es false, la línea if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE }
se anexa al final del script. Esto propagará el último código de salida desde un comando externo como código de salida de PowerShell. De lo contrario, la línea no se anexa al final del script.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Comentarios
Novedades de la tarea Versión 2.0
- Compatibilidad con powerShell y script de PowerShell Core.
- PowerShell Core funciona con agentes multiplataforma (Linux, macOS o Windows), asegúrese de que el agente tiene powerShell versión 6 o más.
- El script de PowerShell solo funciona con el agente de Windows, asegúrese de que el agente tiene powerShell versión 5 o inferior.
Requisitos previos
- Una suscripción de Microsoft Azure.
- Una conexión de servicio de Azure Resource Manager a la cuenta de Azure.
- Los agentes hospedados por Microsoft tienen la CLI de Azure preinstalada. Si usa agentes privados en su lugar, instale la CLI de Azure en los equipos donde se ejecute el agente de compilación y versión. Si ya hay un agente en el equipo donde la CLI de Azure está instalada, reinícielo para asegurarse de que se actualizan todas las variables de fase pertinentes.
Ejemplos
En el ejemplo siguiente se muestra la versión de la CLI de Azure y se obtienen los detalles de la suscripción.
- task: AzureCLI@2
displayName: Azure CLI
inputs:
azureSubscription: <Name of the Azure Resource Manager service connection>
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
az --version
az account show
En el siguiente ejemplo se muestra cómo pasar argumentos al script.
Pasar argumentos a scripts insertados:
- task: AzureCLI@2 inputs: azureSubscription: <Azure_Resource_Manager_Service_Connection> scriptType: 'ps' scriptLocation: 'inlineScript' arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)' inlineScript: './scripts/publish.ps1 $1 $2'
Pasar argumentos con la ruta de acceso del script:
- task: AzureCLI@2 inputs: azureSubscription: <Azure_Resource_Manager_Service_Connection> scriptType: 'ps' scriptLocation: 'scriptPath' arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)' scriptPath: './scripts/publish.ps1'
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
Peticiones | None |
Capabilities | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
Restricciones de comandos | Any |
Variables que se pueden establecer | Any |
Versión del agente | 2.0.0 o superior |
Categoría de la tarea: | Implementar |