Quero poder fazer um commit no meu repositório por meio do GitHub WebUI e fazer com que um webhook inicie um eb deploy
processo do novo HEAD
commit automaticamente.
Entendo que existem ferramentas para isso (CodePipeline/CodeDeploy), mas não está claro se essas ferramentas funcionam com o Elastic Beanstalk. Usar uma solução tão abrangente para um problema tão simples também parece um excesso de engenharia (leia-se: sobrecarga desnecessária). Certamente existe uma maneira mais simples.
Fundo:
O aplicativo no qual estou trabalhando superou seu ambiente de host compartilhado, então mudei-o para a AWS usando o Elastic Beanstalk. Anteriormente, eu estava implantando atualizações automaticamente em um host compartilhado com um script PHP simples. Quando eu fizesse isso git push
, o webhook atingiria esse script via HTTP, e o script executaria um git pull origin mybranch
, que recuperaria todos os arquivos atualizados.
No momento, posso fazer login em um IDE Cloud9 para git pull && eb deploy
atualizações de código, mas essa não é uma solução ideal se eu quiser permitir que outros desenvolvedores implantem alterações.
Tentei reimplementar aquela solução antiga no Elastic Beanstalk, mas a natureza efêmera das instâncias do EC2 significa que não consigo salvar um par de chaves SSH ou conhecidos_hosts lá.
Responder1
Você já conferiu a integração do EB com o Git,
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-cli-git.html
E esta questão pode ser mais adequada para Stackoverflow, com a mesma tag.