SIM!
Embora não tenha conseguido encontrar uma lista definitiva dos tipos de script aceitáveis, parece que a resposta é Yes
- os scripts Powershell .ps1
são aceitáveis e serão executados se incluídos no arquivo appspec.yml
.
Meu script do Powershell não estava funcionando consistentemente até que eu adicionei o código como recomendado na página de solução de problemas pelo @kafka, então meu script agora contém o seguinte acima:
# Are you running in 32-bit mode?
# (\SysWOW64\ = 32-bit mode)
if ($PSHOME -like "*SysWOW64*")
{
Write-Warning "Restarting this script under 64-bit Windows PowerShell."
# Restart this script under 64-bit Windows PowerShell.
# (\SysNative\ redirects to \System32\ for 64-bit mode)
& (Join-Path ($PSHOME -replace "SysWOW64", "SysNative") powershell.exe) -File '
(Join-Path $PSScriptRoot $MyInvocation.MyCommand) @args
# Exit 32-bit script.
Exit $LastExitCode
}
# Was restart successful?
Write-Warning "Hello from $PSHOME"
Write-Warning " (\SysWOW64\ = 32-bit mode, \System32\ = 64-bit mode)"
Write-Warning "Original arguments (if any): $args"
# Your 64-bit script code follows here...
# ...
#
# I PUT MY SCRIPT HERE
#
Ainda não tenho certeza se meu script é compatível apenas com a versão de 64 bits do Powershell ou como descobri-lo, mas funciona com essa modificação.
Espero que isso ajude alguém.
Atualização: uma nota sobre a localização do arquivo
Gostaria de destacar um problema que enfrentei com a execução de .ps1
scripts. Pela minha experiência, ps1
scripts devem ser colocados na raiz do seu pacote de implantação (o mesmo local de pasta do arquivo appspec.yml), caso contrário, o script pode falhar na execução e a implantação será exibido como 'Bem-sucedido' no CodeDeploy. Mais informações sobre este aqui .