Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Ejecuta comandos de CLI de Azure contra una suscripción de Azure en un script PowerShell Core/Shell cuando se ejecute en un agente Linux o en un script PowerShell/Core/Batch cuando se ejecute en un agente de Windows.
Nota:
Esta tarea se publica como parte del Azure DevOps Access con Microsoft Entra identidad de carga de trabajo, y se desplega esta semana y la siguiente. Si aún no ves la función en tu proyecto de Azure DevOps Services, vuelve a consultar en unos días.
Sintaxis
# 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.
Entradas
connectionType
-
tipo de conexión
string. Obligatorio. Valores permitidos: azureRM (Azure Resource Manager), azureDevOps (Azure DevOps). Valor predeterminado: azureRM.
Tipo de conexión de servicio a utilizar.
azureSubscription
-
Azure Resource Manager conexión
Alias de entrada: connectedServiceNameARM.
string. Obligatorio cuando connectionType = azureRM.
Especifica una conexión de servicio Azure Resource Manager para el despliegue.
azureDevOpsServiceConnection
-
Azure DevOps Conexión de servicio
string. Obligatorio cuando connectionType = azureDevOps.
Especifica una conexión de servicio Azure DevOps.
tipo de script de scriptType -
string. Obligatorio. Valores permitidos: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).
Tipo de script. Seleccione un script de bash o pscore al ejecutarse en el agente de Linux. O bien, selecciona un script batch, ps o pscore cuando lo ejecutes en Windows agente. Un script pscore puede ejecutarse en agentes multiplataforma (Linux, macOS o Windows).
ubicación de script de scriptLocation -
string. Obligatorio. Valores permitidos: inlineScript (script en línea), scriptPath (ruta de acceso de script). Valor predeterminado: scriptPath.
Ruta hacia el script: ruta de archivo o script en línea.
scriptPath
-
ruta de acceso de script
string. Obligatorio cuando scriptLocation = scriptPath.
Ruta de acceso completa del script. Usa .ps1, .bat o .cmd cuando uses un agente basado en Windows. Use .ps1 o .sh al usar el agente basado en Linux o una ruta de acceso relativa al directorio de trabajo predeterminado.
inlineScript
-
Script en línea
string. Obligatorio cuando scriptLocation = inlineScript.
Puede escribir los scripts en línea aquí. Cuando uses el agente de Windows, utiliza PowerShell, PowerShell Core o scripting por lotes. Use scripting de Shell o PowerShell Core al usar agentes basados en Linux. Para archivos por lotes, usa el prefijo call antes de cada comando 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
argumentos de script de arguments -
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.
Empieza la línea $ErrorActionPreference = 'VALUE' en la parte superior de tu script/core de PowerShell.
addSpnToEnvironment
-
detalles de la entidad de servicio de Access en el script
boolean. Valor predeterminado: false.
Añade el id principal del servicio, la clave principal del servicio y el id de tenant del endpoint de Azure que elegiste al entorno de ejecución del script. Puedes usar variables: servicePrincipalId, servicePrincipalKey y tenantId en tu guion.
Esto solo se respeta cuando el endpoint de Azure tiene un esquema de autenticación de Principal de Servicio.
Sintaxis para acceder a variables de entorno según el tipo de script.
Script Powershell: $env:servicePrincipalId
Guion por lotes: %servicePrincipalId%
Guion de shell: $servicePrincipalId.
useGlobalConfig
-
Usa configuración global de CLI de Azure
boolean. Valor predeterminado: false.
Si esta entrada es falsa, esta tarea usará su propio directorio de configuración CLI de Azure separado. Esto puede usarse para ejecutar tareas CLI de Azure en versiones paralelo.
de directorio de trabajo de workingDirectory -
Alias de entrada: cwd.
string.
Especifica el directorio de trabajo donde se ejecuta el script. Si se deja en blanco, el valor por defecto es la raíz del repositorio (build) o artefacts (release), que es []$(System.DefaultWorkingDirectory)](/azure/devops/pipelines/build/variables#system-variables).
failOnStandardError
-
error en la de error estándar
boolean. Valor predeterminado: false.
Si esto es cierto, esta tarea fallará cuando se escriban errores en el flujo StandardError. Anule la selección de la casilla para omitir los errores estándar y basarse 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 esto es falso, la línea if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } se añade al final de tu guion. Esto hará que el último código de salida de un comando externo se propague como el código de salida de PowerShell. De lo contrario, la línea no se añade al final de tu guion.
visibleAzLogin
-
Visibilidad de salida de az login
boolean. Valor predeterminado: true.
Si se establece en true, el comando az login generará la salida en la tarea. Si se establece en false, se suprimirá la salida az login.
allowNoSubscriptions
-
No permitir suscripciones de Azure
boolean. Valor predeterminado: false.
Si es cierto, la tarea no intentará establecer un contexto de suscripción y permitirá iniciar sesión cuando la identidad no tenga acceso a ninguna suscripción. También puedes proporcionar un SubscriptionID completamente nulo (00000000-0000-0000-0000-000000-000000000) en la conexión de servicio para saltarse implícitamente la configuración del contexto de suscripción.
keepAzSessionActive
-
[Experimental] Mantén CLI de Azure sesión activa
boolean. Valor predeterminado: false.
Cuando está habilitada, esta tarea iniciará sesión continuamente en Azure para evitar errores de AADSTS700024 al solicitar tokens de acceso más allá de la fecha de caducidad del IdToken. Ten en cuenta que esta función es EXPERIMENTAL, puede que no funcione en todos los escenarios y la estás usando sin ninguna garantía. Válido solo para conexiones de servicio que utilizan el esquema de autenticación de la Workload Identity Federation.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Observaciones
Novedades en la tarea Versión versión 3.0
- Soporte para tipos de conexión duales: Azure Resource Manager y Azure DevOps service connections.
- Integración CLI de Azure DevOps con instalación y configuración automática de extensiones.
- Soporte para la Federación de Identidad de Carga de Trabajo para conexiones Azure DevOps.
- Se añadió la opción 'No permitir suscripciones a Azure' para soportar identidades sin acceso a suscripción.
Prerrequisitos
- Una suscripción a Microsoft Azure.
- Azure Resource Manager conexión de servicio a tu cuenta Azure.
- Los agentes alojados de Microsoft tienen CLI de Azure preinstalada. Sin embargo, si usas agentes privados, instala CLI de Azure en el/los ordenador(es) que ejecutan el agente de compilación y liberación. Si un agente ya está ejecutándose en la máquina donde está instalada la CLI de Azure, reinicia el agente para asegurarte de que todas las variables relevantes de la etapa están actualizadas.
Requisitos
| Requisito | Descripción |
|---|---|
| Tipos de canalización | YAML, compilación clásica, versión clásica |
| Se ejecuta en | Agente, DeploymentGroup |
| Peticiones | Ninguno |
| Capacidades | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
| restricciones de comandos | Cualquiera |
| variables settable | Cualquiera |
| Versión del agente | 2.0.0 o superior |
| Categoría de tarea | Implementar |