Home | Sprints | Requisitos | Arquitetura | Configuração | Mockups | Banco de Dados | Instalação | Deploy | Gerência | Time | Padronização | Git Workflow |
---|
Deploy da API
Para fazer o deploy da nossa aplicação fizemos uso da plataforma Amazon pela facilidade de uso e quantidade de recursos oferecidos pela empresa. Com isso precisamos possuir uma conta na Amazon Web Services para poder subir a nossa aplicação. Para criar uma conta basta acessar o endereço deste link e criar gratuitamente a sua conta AWS.
Criando conta AWS
Com a conta criada vamos para a instanciação da nossa máquina EC2, para isso siga os passos a seguir:
- Acesse a sua conta AWS
- Clique no botão "Services" no canto superior esquerdo da tela
- Na aba de "Compute" selecione a opção "EC2"
- Procure na janela que abriu o botão escrito "Launch Instance"
- Agora nós vamos configurar a nossa instancia, utilize a navegação lateral para clicar na opção "AWS Marketplace"
- Com a opção selecionada, procure por "ECS", irão aparecer algumas opções, selecione a "ECS Optimized Amazon Linux 2"
- Na próxima seção iremos escolher o tipo de instância, caso se deseje continuar no nível gratuito, escolha a opção t2.micro e clique em "Review and Launch"
- Clique em "Launch"
- Agora vamos criar (caso já não possua) um par de chave-valor para acessar a nossa instância
- Para clicar no botão "Create a new key pair" para criar uma nova e informar no campo "Key pair name" o nome da sua chave-valor.
- Após configurado faça download do arquivo chave-valor, pois será utilizado para acessar a nossa máquina.
- Para completar selecione "Launch Instance".
Configurando portas de acesso
Pronto, você acaba de criar uma instância EC2, vamos configurar a segurança para possibilitar que um cliente externo possa acessar a nossa aplicação. Vamos fazer essa configuração agora:
- Na página inicial das instâncias EC2 selecione a máquina que acabamos de criar para alterar o grupo de segurança
- Ao selecionar, apareceu uma janela embaixo com algumas informações detalhadas da máquina, procure por "Security Groups" e clique no nome ao lado que deve estar em azul
- Na parte superior da página, clique em "Actions" e, em seguida, clique em "Edit Inbound Rules". Na caixa de diálogo que se abrir, clique em "Add Rule"
- Defina o intervalo de portas da regra para 3000 e, em "Source", clique no menu suspenso e selecione "Anywhere". O restante deve ser preenchido automaticamente.
Pronto, definimos regras de acesso à máquina e precisamos configurar a nossa aplicação na máquina, para isso nós vamos precisar acessar a nossa instância:
Subindo o projeto na instância
Siga os passos a seguir de acordo com a sua plataforma
Linux
- chmod 400 <NAME_OF_KEYPAIR_FILE>
- ssh -i <NAME_OF_KEYPAIR_FILE>ec2-user@<PUBLIC_DNS>
- git clone http://tools.ages.pucrs.br/appoio/backend.git
- docker build . -t backend
- docker run -d -p 3000:3000 backend
Note que a porta de acesso do docker mapeia para a porta 3000, ou seja, a porta definida na nossa aplicação deve ser igual a porta informada no docker, neste caso
3000
Windows
- Download da ferramenta putty: Link para download 64-bit Link para download 32-bit
- Download da ferramenta puttygen: Link para download 64-bit Link para download 32-bit
- Utilize a ferramenta puttygen para transformar a nossa chave-valor de .pem para .ppk clicando no botão "Load" e seleciona o arquivo .pem
- Após carregar o arquivo clique em "Save private key" e coloque o nome que quiser
- Agora abra a ferramenta putty e informe no campo "Host Name (or IP address)" o endereço da sua instância, deve ser semelhante a "[email protected]", para dúvidas de acesso navegue até a página da sua máquina e clique no botão "Actions" e em seguida "Connect", nan aba de "SSH" terá o endereço da máquina
- Com o endereço informado, navegue, no putty, para "Connection" > "SSH" > "Auth", não clique em "GSSAPI", clique em "Auth" e no campo "Private key file for authentication" informe o arquivo gerado pelo nosso puttygen
- Com tudo configurado clique em "Open"
- git clone http://tools.ages.pucrs.br/appoio/backend.git
- docker build . -t backend
- docker run -d -p 3000:3000 backend
Pronto, o backend da nossa aplicação está pronto para ser utilizado