AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 783804
Accepted
Luke
Luke
Asked: 2016-06-15 01:06:11 +0800 CST2016-06-15 01:06:11 +0800 CST 2016-06-15 01:06:11 +0800 CST

O AWS CodeDeploy pode executar scripts powershell?

  • 772

É aceitável incluir scripts do Powershell diretamente nos appspec.ymlarquivos?

version: 0.0
os: windows
files:
  - source: ./MyWebsiteFiles
    destination: /MyWebsite
hooks:
  AfterInstall:
    - location: /Scripts/MyScript.ps1
      timeout: 300

Estou executando um ps1arquivo que é executado instantaneamente por meio do console do Powershell na instância do EC2, mas minha implantação está travando ou falhando no ponto de execução do script do Powershell.

Não parece haver uma lista de tipos de arquivo aceitáveis ​​que podem ser incluídos em um appspec.ymlarquivo, pelo que posso ver na documentação do CodeDeploy.

Obrigado pela ajuda.

deployment amazon-web-services
  • 2 2 respostas
  • 5834 Views

2 respostas

  • Voted
  1. Best Answer
    Luke
    2016-06-15T05:13:12+08:002016-06-15T05:13:12+08:00

    SIM!

    Embora eu não tenha conseguido encontrar uma lista definitiva dos tipos de script aceitáveis, parece que a resposta é Yes- os scripts do Powershell .ps1são aceitáveis ​​e serão executados se incluídos no appspec.ymlarquivo.

    Meu script Powershell não estava funcionando de forma consistente até que eu adicionei o código conforme recomendado na página de solução de problemas por @kafka, então meu script agora contém o seguinte acima dele:

    # 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 descobrir, 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 ao executar .ps1scripts. Pela minha experiência, os ps1scripts devem ser colocados na raiz do seu pacote de implantação (na mesma pasta que o arquivo appspec.yml). Caso contrário, a execução do script pode falhar e a implantação será exibida como 'Bem-sucedida' no CodeDeploy. Mais informações sobre isso aqui .

    • 10
  2. Remotec
    2017-01-01T06:34:17+08:002017-01-01T06:34:17+08:00

    Sim, pode, mas, a menos que você defina uma variável, os erros encontrados durante a execução do script não interromperão sua implantação.

    $ErrorActionPreference = ‘Stop’
    

    Veja este link para mais detalhes:

    https://aws.amazon.com/premiumsupport/knowledge-center/powershell-cmdlet-errors-codedeploy/

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve