Simples deploy com App Runner e GitHub
Tags: community, aws, serverless
Published: 2024-01-29 18:30:16

> O AWS App Runner é um serviço totalmente gerenciado que facilita a implantação rápida de aplicações Web e APIs em contêiner, em alta escala e sem a necessidade de experiência prévia com a infraestrutura. Comece com seu código-fonte ou uma imagem de contêiner. O App Runner cria e implanta a aplicação Web automaticamente, equilibra a carga do tráfego com criptografia, escala para atender às suas necessidades de tráfego e facilita a comunicação de seus serviços com outros serviços e aplicações da AWS executados em uma Amazon VPC privada. Com o App Runner, em vez de pensar em servidores ou escalabilidade, você tem mais tempo para se concentrar nas suas aplicações.

![[https://aws.amazon.com/pt/apprunner/](https://aws.amazon.com/pt/apprunner/)](https://cdn-images-1.medium.com/max/3902/1*D8jJOXW8BdY_6N1IbD59-w.png)*[https://aws.amazon.com/pt/apprunner/](https://aws.amazon.com/pt/apprunner/)*

Exemplo de implementação com App runner executando diretamente o código-fonte _node.js_ e fazendo _automatic deployments_.

- Escolha conectar-se ao repositório do GitHub onde está o código node - [https://github.com/paulofponciano/lab-aws-app-runner-1.git](https://github.com/paulofponciano/lab-aws-app-runner-1.git)

- Defina o *deployment* como *'Automatic'*, assim cada *push* na *branch* selecionada, gera um novo *deployment* do serviço:

![](https://cdn-images-1.medium.com/max/2484/1*jzfIwfHjI2Ux3gDsB3qo3A.png)

- Os parâmetros de *build*, serão definidos a partir do arquivo *apprunner.yaml* que está no repositório *git*:

![](https://cdn-images-1.medium.com/max/2000/1*OIGXkp7kBTOhijx9gq4Y-g.png)

- Nesse passo, serão configurados os recursos mínimos de ambiente para executar o serviço:

![](https://cdn-images-1.medium.com/max/4132/1*201J3tIEtZs9XlzKHUf27Q.png)

- Deploy:

![](https://cdn-images-1.medium.com/max/4950/1*pgRE-2vr85kykOFNsodkMw.png)

![](https://cdn-images-1.medium.com/max/4950/1*YN4TQsl22ym260kiGqCSFA.png)

Agora já é possível acessar a aplicação através da url criada automaticamente no *default domain \o/*

![](https://cdn-images-1.medium.com/max/4156/1*gcJRaynRe2yi_B1MQdyZbQ.png)

- Podemos fazer um novo *commit* e *push* no repositório *git*, e observar a nova versão do serviço passando pelo *deploy:*

![](https://cdn-images-1.medium.com/max/3896/1*WuVoKYooMEYZY7iBzWWYgg.png)

![](https://cdn-images-1.medium.com/max/4968/1*2yi7EA7dYPVHfMxhUrY3NA.png)

![](https://cdn-images-1.medium.com/max/4942/1*LYAkFBOdqgoZpMJDpbMstg.png)

![](https://cdn-images-1.medium.com/max/2000/1*hvoHV5rGcpmXt_S1oTaA2w.png)

- Também é possível configurar o serviço para responder em uma url do seu domínio em *'Custom domains':*

![](https://cdn-images-1.medium.com/max/2000/1*kc_NGvWFTb_m_Dtm7wigcw.png)

É necessário criar os registros para validar o certificado HTTPS utilizado por padrão no App runner, como é indicado acima.

![](https://cdn-images-1.medium.com/max/2000/1*UBrLmUgke27xLNu24MCHCw.png)

![](https://cdn-images-1.medium.com/max/2000/1*x9ou86U9Cr7VVdgkC4zJow.png)

- Podemos olhar os *logs* de todo processo através do CloudWatch:

![](https://cdn-images-1.medium.com/max/2000/1*ztvk3Kn_I_tT7WoxjOaefQ.png)

Até a próxima!