0% acharam este documento útil (0 voto)
13 visualizações

Aula 08 API Python 051927

Enviado por

paulomigueoli
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
13 visualizações

Aula 08 API Python 051927

Enviado por

paulomigueoli
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 20

Curso: API Python

Aula 8
© Copyright 2018-2019 www.infinityschool.com.br - All Rights
Tema da aula:
Aula 8 - Deploy da API

Nesta aula você conhecerá:


• Visão geral sobre as opções de deploy
• Como enviar o projeto para o Github
• Deploy do projeto com Deta
• Teste da API

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Visão geral sobre opções de deploy
No contexto de desenvolvimento de software, deployment, ou simplesmente deploy, significa
disponibilizar o programa desenvolvido em uma plataforma acessível ao público alvo.

Para ser lançado, um sistema, normalmente, passa por alguns estágios até a realização do deploy:
• Desenvolvimento: Estágio de desenvolvimento do sistema, onde os requisitos são levantados, as
tecnologias são selecionadas e o sistema é criado.

• Teste: Etapa na qual as funções são testadas, validadas e corrigidas antes de serem enviadas ao
público final. Em algumas estratégias de desenvolvimento, as etapas de desenvolvimento e teste
são intercaladas iterativamente.

• Produção: Estágio onde os usuário têm acesso ao sistema. Uma vez testada e aprovada, a equipe
de desenvolvimento faz o deploy da aplicação, implantando o sistema no ambiente de produção. No
caso de uma API Rest, o ambiente de produção é um servidor que irá disponibilizar o acesso à API.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Visão geral sobre opções de deploy
Requisitos para um deploy

• Infraestrutura: A infraestrutura é onde, fisicamente ou virtualmente, a aplicação será implantada.


Pode ser numa máquina local, um servidor remoto, ou numa nuvem pública/privada.

• Ambiente: O ambiente é composto por todas as ferramentas necessárias para a execução da sua
aplicação, portanto, aqui são configurados, banco de dados, serviços de armazenamento,
programas de virtualização, cache, etc.

• Domínio: O domínio indica onde, na internet, sua aplicação está localizada. O domínio faz parte da
URL. A URL é composta por:
• protocolo + domínio + rota
• Exemplo: http://meusite.com/home

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Visão geral sobre opções de deploy
Modos de realizar um deploy

• Manual: O desenvolvedor seleciona e transfere os arquivos manualmente, via SSH ou aplicação de


upload, para o servidor de produção, e configura todos os detalhes para que a aplicação permaneça
online.

• Automatizado: Existem ferramentas que permitem disparar ações a partir de atualizações


realizadas num repositório GIT. Uma vez que o desenvolvedor faz um commit no código, essa ação
dispara uma sequência de processos no ambiente de produção que automatiza o deploy.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Como enviar arquivos para o GITHub
Git x Github

• Git é um dos mais utilizados sistemas de versionamento de código do mundo. O sistema permite
registrar, visualizar e gerenciar alterações em códigos, em repositórios locais e remotos, com relativa
facilidade.

• Github é uma plataforma de hospedagem de código-fonte e arquivos de controle de versão que


utilizam git.

• Git e github permitem que sistemas inteiros sejam desenvolvidos, versionados e disponibilizados de
forma gratuita.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Como enviar arquivos para o GITHub
Criando repositório no Github

• Após criar uma conta gratuita no github, você pode criar


um repositório.
• Na página inicial, digite um nome para seu repositório e
clique em “Create new repository”.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Como enviar arquivos para o GITHub
Criando repositório no Github

• A página seguinte irá lhe mostrar um passo a


passo de como criar um novo repositório em sua
máquina ou como enviar um repositório existente.

• Baixe o git pelo endereço:


• https://git-scm.com/downloads

• Em sua máquina, instale o git e siga as etapas


descritas na página do github para criar seu
repositório.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Como enviar arquivos para o GITHub
Git
• Na sua pasta local, com o git instalado, siga os passos:
• git clone https://github.com/usuario/repositorio.git
• Crie seu projeto ou copie os arquivos para a pasta do repositório
• Abra o terminal do git e navegue até a pasta do repositório
• Alternativamente, você pode abrir a pasta do repositório e dentro dela pressionar shift +
botão direito do mouse, dessa forma você abrirá o terminal dentro da pasta.

• Digite:
• git add . (para preparar os arquivos para o repositório local)
• git commit -m “mensagem” (para enviar os arquivos para o repositório local)
• git push (para enviar os arquivos ao repositório remoto no Github)

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta
• Deta é um serviço de cloud que disponibiliza de forma gratuita toda a estrutura necessária para
deploy e acesso de uma aplicação python.

• Deta permite:
• Instalação e configuração de pacotes python;
• Criação automática de um domínio para aplicação;
• Permissão de leitura de para um banco de dados SQLite;
• Upload, hospedagem e serviço de imagens e arquivos;
• Autenticação simplificada para acesso a conta Deta;

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta - Configurando o projeto

A Deta disponibiliza os Deta Micros (micro serviços), uma nuvem de execução leve e escalável,
projetada para disponibilizar aplicações tão breve quanto possível.

Para iniciar a construção de uma micro vamos instalar o terminal da Deta.

Abra o terminal do powershell e digite:

iwr https://get.deta.dev/cli.ps1 -useb | iex

O comando acima irá baixar e configurar o terminal deta em sua máquina.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta - Configurando o projeto

• Em seguida, na pasta do seu projeto, abra um terminal e digite:

deta login

• Ele abre uma página no navegador para que você possa se cadastrar.
• Após o cadastro, o terminal será liberado para que você possa seguir.
• Antes de prosseguir para o próximo passo, precisamos fazer uma pequena adição ao nosso
projeto. Na pasta raiz do projeto, adicione um arquivo: requirements.txt. Esse arquivo será
usado para listar os pacotes necessários para a execução do projeto.
• Para nossa API basta adicionar:
• fastapi
• uvicorn
• SQLAlchemy
• Caso seu projeto contemple mais algum pacote python, pode adicioná-lo também aqui.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta - Configurando o projeto

• Agora, sim! Com os requisitos definidos, o passo seguinte é a construção da micro. Digite:
deta new nome-da-micro --python
• deta new informa que estamos criando um novo micro serviço no deta com o nome
especificado e que utiliza python,
• Essa última informação é útil para que a deta saiba diferenciar projetos python de projetos
node, tecnologia que ela também oferece suporte.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta - Configurando o projeto

• Pronto! Com apenas duas linhas de comando seu deploy foi feito, e disponibilizado no link
informado na mensagem de confirmação.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta - Atualizando o projeto

• Para futuras atualizações o processo é igualmente simples.


• Faça as configurações necessárias no seu código local e quando tudo estiver pronto digite:

deta deploy

• Pronto! Suas atualizações já foram enviadas ao servidor e disponibilizadas em sua micro.


• Como o deta, por enquanto, fornece apenas permissão de leitura para SQLite, novas adições
devem ser feitas localmente e enviadas ao micro serviço por meio do deploy.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta - Atualizando o projeto

• Caso o projeto apresente algum bug e você precise dos logs para identificar o problema, digite:

deta visor enable

• Os logs e requisições estarão disponível online, na plataforma da deta, na página da sua micro

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta - Atualizando o projeto

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


Deploy do projeto com Deta
Deta - Testando sua API

• E claro! Como uma API criada pelo


FastAPI, sua documentação estará
disponível no domínio/docs da mesma
forma como estava disponível de forma
local.
• Utilize a documentação da API para testar
e fazer buscas.

© Copyright 2018-2019 www.infinityschool.com.br - All Rights Reserved


71 3901 1052 | 71 9 9204 0134
@infinity.school
www.infinityschool.com.br
Salvador Shopping Business | Torre Europa Sala
310 Caminho das Árvores, Salvador - BA CEP:
40301-155
© Copyright 2018-2019 www.infinityschool.com.br - All Rights
SEU SUPER MÓDULO TERMINA AQUI!
ACESSE A PESQUISA DE SATISFAÇÃO.

IN INFINITY SCHOOL

Você também pode gostar