Compartir vía


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 batchscript , pso 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 batchscript , pso 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, .bato .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 servicePrincipalIdvariables , 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

Consulte también