AzurePowerShell@5 – tarefa Azure PowerShell v5
Use essa tarefa para executar um script do PowerShell em um ambiente do Azure. O contexto do Azure é autenticado com a conexão de serviço Resource Manager do Azure fornecida.
Observação
Por padrão, Azure PowerShell v5 usa o PowerShell Core para agentes linux e Windows PowerShell para agentes do Windows. Para usar a versão mais recente do PowerShell em agentes do Windows, defina o pwsh
parâmetro como true
. Em seguida, o PowerShell Core será usado.
Syntax
# Azure PowerShell v5
# Run a PowerShell script within an Azure environment.
- task: AzurePowerShell@5
inputs:
azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription.
#ScriptType: 'FilePath' # 'FilePath' | 'InlineScript'. Script Type. Default: FilePath.
#ScriptPath: # string. Optional. Use when ScriptType = FilePath. Script Path.
#Inline: # string. Optional. Use when ScriptType = InlineScript. Inline Script.
#ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments.
#errorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
#FailOnStandardError: false # boolean. Fail on Standard Error. Default: false.
# Azure PowerShell version options
#azurePowerShellVersion: 'OtherVersion' # 'LatestVersion' | 'OtherVersion'. Alias: TargetAzurePs. Azure PowerShell Version. Default: OtherVersion.
preferredAzurePowerShellVersion: # string. Alias: CustomTargetAzurePs. Required when TargetAzurePs = OtherVersion. Preferred Azure PowerShell Version.
# Advanced
#pwsh: false # boolean. Use PowerShell Core. Default: false.
#validateScriptSignature: false # boolean. Optional. Use when ScriptType = FilePath. Validate script signature. Default: false.
#workingDirectory: # string. Working Directory.
# Azure PowerShell v5
# Run a PowerShell script within an Azure environment.
- task: AzurePowerShell@5
inputs:
azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription.
#ScriptType: 'FilePath' # 'FilePath' | 'InlineScript'. Script Type. Default: FilePath.
#ScriptPath: # string. Optional. Use when ScriptType = FilePath. Script Path.
#Inline: # string. Optional. Use when ScriptType = InlineScript. Inline Script.
#ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments.
#errorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
#FailOnStandardError: false # boolean. Fail on Standard Error. Default: false.
# Azure PowerShell version options
#azurePowerShellVersion: 'OtherVersion' # 'LatestVersion' | 'OtherVersion'. Alias: TargetAzurePs. Azure PowerShell Version. Default: OtherVersion.
preferredAzurePowerShellVersion: # string. Alias: CustomTargetAzurePs. Required when TargetAzurePs = OtherVersion. Preferred Azure PowerShell Version.
# Advanced
#pwsh: false # boolean. Use PowerShell Core. Default: false.
#workingDirectory: # string. Working Directory.
Entradas
azureSubscription
- Assinatura do Azure
Alias de entrada: ConnectedServiceNameARM
. string
. Obrigatórios.
O Azure Resource Manager assinatura a ser configurada antes de executar o PowerShell.
ScriptType
- Tipo de script
string
. Valores permitidos: FilePath
(Caminho do Arquivo de Script) InlineScript
(Script Embutido). Valor padrão: FilePath
.
O tipo do script: caminho do arquivo ou embutido.
ScriptPath
- Caminho do script
string
. Opcional. Use quando ScriptType = FilePath
.
O caminho do script. Esse deve ser um caminho totalmente qualificado ou um relativo ao diretório de trabalho padrão.
Inline
- Script embutido
string
. Opcional. Use quando ScriptType = InlineScript
. Valor padrão: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments
.
Especifica o script a ser executado. O comprimento máximo do script embutido com suporte é de 5.000 caracteres. Use um script de um arquivo se quiser usar um script mais longo.
ScriptArguments
- Argumentos de script
string
. Opcional. Use quando ScriptType = FilePath
.
Os parâmetros adicionais a serem passados para o PowerShell. Eles podem ser parâmetros ordinais ou nomeados. Não aplicável a uma opção de script embutido.
errorActionPreference
- Erroractionpreference
string
. Valores permitidos: stop
, continue
, silentlyContinue
. Valor padrão: stop
.
Seleciona o valor da ErrorActionPreference
variável para executar o script.
FailOnStandardError
- Falha no Erro Padrão
boolean
. Valor padrão: false
.
Quando isso for verdadeiro, essa tarefa falhará se algum erro for gravado no pipeline de erro ou se algum dado for gravado no fluxo de erro padrão.
azurePowerShellVersion
- Versão do Azure PowerShell
Alias de entrada: TargetAzurePs
. string
. Valores permitidos: LatestVersion
(versão mais recente instalada) OtherVersion
(especifique outra versão). Valor padrão: OtherVersion
.
No caso de agentes hospedados, as versões de Azure PowerShell com suporte são 1.0.0
, 1.6.0
, 2.3.2
, , 2.6.0
e 3.1.0
(Fila vs2017 hospedada).
Para escolher a versão mais recente disponível no agente, selecione LatestVersion
(Versão mais recente instalada).
Para agentes privados, você pode especificar uma versão preferencial do Azure PowerShell usando OtherVersion
(especifique outra versão).
preferredAzurePowerShellVersion
- Versão de Azure PowerShell preferencial
Alias de entrada: CustomTargetAzurePs
. string
. Obrigatório quando TargetAzurePs = OtherVersion
.
A versão de Azure PowerShell preferencial precisa ser uma versão semântica adequada, por exemplo. 1.2.3
. Não há suporte para Regex como 2.\*,2.3.\*
. Atualmente, o Pool vs2017 hospedado dá suporte às versões 1.0.0
do módulo Az , 1.6.0
, 2.3.2
, 2.6.0
e 3.1.0
.
pwsh
- Usar o PowerShell Core
boolean
. Valor padrão: false
.
Se isso for verdadeiro, as tarefas em execução em agentes do Windows usarão pwsh.exe
do caminho em vez de powershell.exe
.
validateScriptSignature
- Validar assinatura de script
boolean
. Opcional. Use quando ScriptType = FilePath
. Valor padrão: false
.
Se isso for verdadeiro, a tarefa primeiro marcar para garantir que o script especificado seja assinado e válido antes de executá-lo.
workingDirectory
- Diretório de Trabalho
string
.
O diretório de trabalho em que o script é executado.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Comentários
Solução de problemas
O script funcionou localmente, mas falhou no pipeline
Isso normalmente ocorre quando a conexão de serviço usada no pipeline não tem permissões suficientes para executar o script. Localmente, o script é executado com suas credenciais e teria êxito, pois você pode ter o acesso necessário.
Para resolve esse problema, verifique se as credenciais de autenticação/princípio de serviço têm as permissões necessárias. Para obter mais informações, consulte Usar Role-Based Controle de Acesso para gerenciar o acesso aos recursos de assinatura do Azure.
Erro: não foi possível localizar os módulos: '<nome> do módulo' com Versão: '<versão>'. Se o módulo foi instalado recentemente, tente novamente após reiniciar o agente de tarefas do Azure Pipelines
Azure PowerShell tarefa usa o Módulo do Azure/AzureRM/Az PowerShell para interagir com a Assinatura do Azure. Esse problema ocorre quando o módulo do PowerShell não está disponível no Agente Hospedado. Portanto, para uma versão de tarefa específica, a versão de Azure PowerShell preferencial deve ser especificada nas opções de versão Azure PowerShell da lista de versões disponíveis. O software instalado pode ser encontrado na tabela Software em agentes hospedados pela Microsoft.
Problemas de conexão de serviço
Para solucionar problemas relacionados a conexões de serviço, consulte Solução de problemas de Conexão de Serviço.
Exemplos
O exemplo a seguir mostra como invocar um script de um arquivo e passar argumentos de script para ele.
- task: AzurePowerShell@5
inputs:
azureSubscription: my-arm-service-connection
scriptType: filePath
scriptPath: $(Build.SourcesDirectory)\myscript.ps1
scriptArguments:
-Arg1 val1 `
-Arg2 val2 `
-Arg3 val3
azurePowerShellVersion: latestVersion
pwsh: true
Os argumentos a seguir mostram como invocar um script embutido.
- task: AzurePowerShell@5
inputs:
azureSubscription: 'Azure subscription connection placeholder'
azurePowerShellVersion: LatestVersion
ScriptType: 'InlineScript'
Inline: |
# You can write your azure powershell scripts inline here.
# You can also pass predefined and custom variables to this script using arguments
Write-Host 'Hello'
Write-Host 'World!'
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
É executado em | Agent, DeploymentGroup |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.115.0 ou superior |
Categoria da tarefa | Implantar |