Como posso fazer com que erros de encerramento e não encerramento do cmdlet PowerShell façam com que os hooks de eventos do ciclo de vida falhem no CodeDeploy?

2 minuto de leitura
0

Meu hook de eventos do ciclo de vida de implantação no AWS CodeDeploy chama um cmdlet do Windows PowerShell que retorna erros. No entanto, o cmdlet retorna um código de saída 0 (sucesso) e a implantação relata sucesso. Como posso garantir que os erros de encerramento e não encerramento do cmdlet do PowerShell façam com que meus hooks de eventos do ciclo de vida falhem no CodeDeploy?

Breve descrição

Por padrão, os cmdlets do PowerShell são executados até a conclusão e retornam um código de saída 0, a menos que ocorra um erro irrecuperável ou de encerramento. O CodeDeploy não relata uma falha no hook de eventos do ciclo de vida, a menos que o script associado retorne um código de saída diferente de 0.

Para fazer com que os hooks de eventos do ciclo de vida falhem quando ocorrerem erros que não são de encerramento, altere o comportamento do script. Para alterar o comportamento do script, configure a variável $ErrorActionPreference no cmdlet como ‘Interromper’. Em seguida, o PowerShell interrompe a execução do cmdlet e retorna um código de saída de 1 para erros de encerramento e não encerramento.

Para obter mais informações, consulte Compreensão dos erros de não encerramento no PowerShell no Blog de scripts da Microsoft.

Resolução

Importante: a resolução a seguir funciona com o Windows PowerShell 5.1 e superior.

1.    Verifique qual versão do Windows PowerShell você está usando executando o seguinte comando PSVersionTable:

$PSVersionTable

2.    Se sua versão do Windows PowerShell for anterior à versão 5.1, atualize sua versão do PowerShell. Para obter instruções, consulte Baixar e instalar o Windows PowerShell 5.1 no site do Microsoft Docs.

3.    Inclua o código a seguir no início do cmdlet do PowerShell:

$ErrorActionPreference = 'Stop'

O PowerShell agora interrompe o cmdlet e retorna um código de saída 1 para erros de encerramento e não encerramento.


Informações relacionadas

Sobre variáveis de preferência (site do Microsoft Docs)

Seção ‘hooks’ do AppSpec

Monitoramento de implantações com as ferramentas do Amazon CloudWatch

Veja os logs do AWS CodeDeploy no console do Amazon CloudWatch

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos