Tarea CLI de Azure
Azure Pipelines
Use esta tarea para ejecutar un shell o un script por lotes que contenga CLI de Azure comandos en una suscripción de Azure. Esta tarea se usa para ejecutar comandos CLI de Azure en agentes multiplataforma que se ejecutan en linux, macOS o Windows operativos.
Novedades de la versión 2.0
- Admite la ejecución de PowerShell PowerShell Core script.
- PowerShell Core script funciona con agentes de Xplat (Windows, Linux u OSX), asegúrese de que el agente tiene PowerShell versión 6 o posterior.
- El script de PowerShell solo funciona Windows agente, asegúrese de que el agente tiene la versión 5 o inferior de PowerShell.
Requisitos previos
Una suscripción de Microsoft Azure.
Azure Resource Manager conexión de servicio a su 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 ejecución en el equipo en el que está instalada la CLI de Azure, reinicie el agente para asegurarse de que se actualicen todas las variables de fase pertinentes.
Entradas de tareas
| Parámetros | Descripción |
|---|---|
azureSubscriptionSuscripción a Azure |
(Obligatorio) Nombre de la conexión Azure Resource Manager servicio |
scriptTypeTipo de secuencia de comandos |
(Obligatorio) Tipo de script: si usa un agente de seleccione uno de los siguientes tipos:
|
scriptLocationUbicación del script |
(Obligatorio) seleccione scriptPath para usar un archivo de script o si desea escribir el script en inlineScript línea.Valor predeterminado: scriptPath |
scriptPathRuta de acceso del script |
Se requiere cuando scriptLocation = scriptPath . Ruta de acceso completa del archivo de script o una ruta de acceso relativa al directorio de trabajo predeterminado |
inlineScriptscript en línea. |
Se requiere cuando scriptLocation = inlineScript . Use esta opción si desea pegar los scripts en línea. Use PowerShell, PowerShell Core o scripting por lotes para Windows y Bash o PowerShell Core al usar agentes basados en Linux. Use el call prefijo antes de cada comando de Azure cuando use batch. También puede pasar variables predefinidas y personalizadas al script mediante argumentos. Ejemplos: PowerShell/PowerShellCore/shell: az --version az account show batch: llame a az --version call az account show |
argumentsArgumentos de script |
(Opcional) Argumentos pasados al script |
powerShellErrorActionPreferenceErrorActionPreference |
(Opcional) Antepone la línea $ErrorActionPreference = 'VALUE' en la parte superior del script de PowerShell/PowerShell Core. Valor predeterminado: stop Las opciones son stop, continue y silentlyContinue |
addSpnToEnvironmentAcceso a los detalles de la entidad de servicio en el script |
(Opcional) Agrega el identificador de la entidad de servicio y la clave del punto de conexión de Azure que haya elegido al entorno de ejecución del script. En el script se pueden usar estas variables: $env:servicePrincipalId, $env:servicePrincipalKey y $env:tenantId. Esto solo se respeta cuando el punto de conexión de Azure tiene un esquema de autenticación de entidad de servicio. Valor predeterminado: false |
useGlobalConfigUso de la configuración CLI de Azure global |
(Opcional) Si es false, esta tarea usará su propio directorio de configuración de la CLI de Azure independiente. Se puede usar para ejecutar tareas de la CLI de Azure en versiones paralelas. Valor predeterminado: false |
workingDirectoryDirectorio de trabajo |
(Opcional) Directorio de trabajo actual donde se ejecuta el script. Vacío es la raíz del repositorio (compilación) o artefactos (versión), que es $(System.DefaultWorkingDirectory) |
failOnStandardErrorError al producirse un error estándar |
(Opcional) Si es true, la tarea no se llevará a cabo cuando se escriban errores en la secuencia StandardError. Anule la selección de la casilla para omitir los errores estándar y confiar en los códigos de salida para determinar el estado. Valor predeterminado: false |
powerShellIgnoreLASTEXITCODEOmitir $LASTEXITCODE |
(Opcional) Si es false, la línea if ((Test-Path -LiteralPath variable:\\LASTEXITCODE)) { exit $LASTEXITCODE } se anexa al final del script. 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 anexa al final del scriptValor predeterminado: false |
Ejemplo
A continuación se muestra un ejemplo de un fragmento de código YAML que muestra la versión de CLI de Azure y obtiene 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 ejemplo siguiente se muestra cómo pasar argumentos al script.
Pasar argumentos a scripts en línea:
- 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'
Tareas relacionadas
- Implementación de un grupo de recursos de Azure
- Implementación del servicio en la nube de Azure
- Tarea de implementación de Azure App Service
De código abierto
Esta tarea es de código abierto en GitHub. Los comentarios y las contribuciones son bienvenidos.
Preguntas más frecuentes
¿Necesito un agente?
Necesita al menos un agente para ejecutar la compilación o versión.
Tengo problemas. ¿Cómo puedo solucionarlos?
Vea Solución de problemas de compilación y versión.
No se puede seleccionar un grupo de agentes predeterminado y no se puede poner en cola la compilación o versión. ¿Cómo puedo corregirlo?
Vea Grupos de agentes.
La tarea de envío de cambios de NuGet genera el error siguiente: "Error: no se puede obtener el certificado del emisor local". ¿Cómo lo puedo corregir?
Esto se puede corregir si se añade un certificado raíz de confianza. Puede agregar la variable de entorno NODE_EXTRA_CA_CERTS=file al agente de compilación, o bien la variable de tarea NODE.EXTRA.CA.CERTS=file en la canalización. Vea la documentación de Node.js para obtener más detalles sobre esta variable. Consulte Establecimiento de variables en una canalización para obtener instrucciones sobre cómo establecer una variable en la canalización.