Full Stack Python M23 Projeto Final
Full Stack Python M23 Projeto Final
Desenvolvedor Full
Stack Python
11
Continuous
Delivery
PythonAnywhere
O Pythonanywhere é Para criar essa
Vamos ajustar nosso projeto para uma plataforma cloud automação,
hospedá-lo no PythonAnywhere. para hospedagem de utilizaremos um
projetos em Python. webhook.
3
PythonAnywhere
Os webhooks do Git são Em termos de deploy,
Vamos ajustar nosso projeto para gatilhos automatizados os webhooks do Git
hospedá-lo no PythonAnywhere. que podem enviar podem ser utilizados
notificações para outros para integrar o
sistemas quando ocorrem processo de
eventos específicos em um desenvolvimento com
repositório Git. Eles serviços de integração
permitem que ações contínua e contínua
automáticas sejam (CI/CD) ou com
acionadas em resposta a sistemas de
eventos como push de hospedagem de
código, criação de aplicativos.
branches, criação de tags,
entre outros.
4
PythonAnywhere
Por exemplo, ao realizar um Basicamente, os
Vamos ajustar nosso projeto para push em um repositório, webhooks do Git
hospedá-lo no PythonAnywhere. um webhook pode notificar ajudam a automatizar
um serviço de CI/CD para e agilizar o processo de
iniciar uma nova desenvolvimento, teste
construção e, em seguida, e implantação de
implantar código. Eles são uma
automaticamente a parte importante da
aplicação atualizada. prática DevOps,
permitindo integrações
mais fluidas entre
equipes de
desenvolvimento e
operações de TI.
5
PythonAnywhere
Pré requisito
Vamos ajustar nosso projeto para Vamos fazer algumas alterações no nosso projeto
hospedá-lo no PythonAnywhere. para que ele rode com sucesso no Pythonanywhere
source env/bin/activate
poetry update psycopg2-binary
poetry add GitPython 6
PythonAnywhere
Pré requisito
Vamos ajustar nosso projeto para 3 - Atualize o build workflow do Github actions
hospedá-lo no PythonAnywhere.
Para mais detalhes, consulte o Gist ->
https://gist.github.com/drsantos20/b84cc0bca9c0832082007
43bfe356fa7
7
PythonAnywhere
1 - Crie uma conta no Pythonanywhere
https://www.pythonanywhere.com/registration/register/begin
Vamos ajustar nosso projeto para ner/
hospedá-lo no PythonAnywhere.
2 - Após confirmar seu cadastro no Pythonanywhere, a
seguinte página será apresentada:
8
PythonAnywhere
3 - (Opcional) Fique a vontade para navegar e conhecer o
Pythonanywhere, há um tour interativo disponível na página inicial
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere.
4 - Em “New console”, clique sobre o botão `$ Bash`
9
PythonAnywhere
5 - Um terminal será exibido, aqui faça o clone do seu projeto
10
PythonAnywhere
6 - Crie um virtualenv (ambiente virtual Python para instalar
as dependências do nosso projeto)
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere. python3.10 -m venv env
source env/bin/activate
cd bookstore
poetry install
11
PythonAnywhere
7 - Copie o endereço do ambiente virtual python criado no
passo 6
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere. (env) 17:45 ~/env $ pwd
/home/drsantos88/env
O endereço do meu
ambiente virtual é
/home/drsantos88/env
12
PythonAnywhere
Abra uma nova aba no seu navegador e acesse o Dashboard
(página principal) do Pythonanywhere e clique sobre o botão
Vamos ajustar nosso projeto para `Open web tab`
hospedá-lo no PythonAnywhere.
13
PythonAnywhere
Na página de webapps selecione `Add a new web app`
14
PythonAnywhere
Clique em `Next` e selecione `Manual configuration`
16
PythonAnywhere
8 - Na página do nosso projeto, vá para a área de Code e edit
o Source Code adicionando o caminho do nosso projeto
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere.
17
PythonAnywhere
Vá para a página virtualenv e cole o endereço do nosso
ambiente virtual
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere.
18
PythonAnywhere
9 - Abra nosso projeto novamente, vá para a main branch e
faça o pull para baixar as últimas alterações
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere.
10 - Abra o arquivo settings.py dentro do nosso projeto
bookstore e adicione o endereço do Pythonanywhere do seu
projeto:
19
PythonAnywhere
ALLOWED_HOSTS = ['localhost', '127.0.0.1',
'ebac-bookstore-api.herokuapp.com',
Vamos ajustar nosso projeto para
'drsantos20.pythonanywhere.com']
hospedá-lo no PythonAnywhere.
20
PythonAnywhere
11 - Acesse novamente o console do Pythonanywhere, gere
Vamos ajustar nosso projeto para uma nova chave pública para fazermos commit a partir do
hospedá-lo no PythonAnywhere. Pythonanywhere da seguinte forma:
ssh-keygen -t ed25519 -C
"[email protected]"
21
PythonAnywhere
Pressione `enter` em todos os passos até ver a seguinte
Vamos ajustar nosso projeto para mensagem:
hospedá-lo no PythonAnywhere.
22
PythonAnywhere
Sua chave será criada e estará disponível no caminho
Vamos ajustar nosso projeto para `~/.ssh/id_ed25519.pub`
hospedá-lo no PythonAnywhere.
Agora copie o conteúdo dessa chave com o comando
23
PythonAnywhere
Clique em new SSH Key.
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere.
24
PythonAnywhere
Dê um nome para sua chave, ex: pythonanywhere-pub-key e cole o
Vamos ajustar nosso projeto para conteúdo da sua chave no espaço Key e então clique em Add SSH
hospedá-lo no PythonAnywhere. Key
git pull
25
PythonAnywhere
12 - Acesse a página principal do seu projeto no Pythonanywhere e
Vamos ajustar nosso projeto para clique sobre o botão Reload `seu_projeto.pythonanywhere.com`
hospedá-lo no PythonAnywhere.
26
PythonAnywhere
Agora tente acessar seu projeto navegando em
Vamos ajustar nosso projeto para https://seu_projeto.pythonanywhere.com
hospedá-lo no PythonAnywhere.
27
PythonAnywhere
Essa é a página que demonstra que nosso projeto está configurado
Vamos ajustar nosso projeto para corretamente no Pythonanywhere, mas agora precisamos fazer um
hospedá-lo no PythonAnywhere. pequeno ajuste para que o servidor sirva corretamente nossa API
28
PythonAnywhere
O arquivo será exibido, limpe o conteúdo HTML inicial do arquivo e
Vamos ajustar nosso projeto para remova o comentário da sessão do Django
hospedá-lo no PythonAnywhere.
29
PythonAnywhere
Em path, coloque o endereço da pasta do seu projeto dentro do
Vamos ajustar nosso projeto para Pythonanywhere. Caso precise de ajuda, consulte o seguinte Gist
hospedá-lo no PythonAnywhere. para mais detalhes:
https://gist.github.com/drsantos20/696410aff5e2dc18a9cc95a2f460c6b6
30
PythonAnywhere
Aguarde a reinicialização do seu projeto e acesse novamente
Vamos ajustar nosso projeto para https://seu_projeto.pythonanywhere.com agora devemos
hospedá-lo no PythonAnywhere. visualizar nossa API ao invés da página de Hello World padrão do
Pythonanywhere.
31
PythonAnywhere
Crie um arquivo chamado views.py dentro de bookstore com o
Vamos ajustar nosso projeto para conteúdo disponibilizado no seguinte link
hospedá-lo no PythonAnywhere.
https://gist.github.com/drsantos20/d680bb91490a71ea5ac6b7659
00b4c97
bookstore/templates/hello_world.html
https://gist.github.com/drsantos20/0211d8006afdf463eccc5b082f1
21816
33
PythonAnywhere
Em bookstore/settings.py adicione as configurações do Django
Vamos ajustar nosso projeto para template conforme disponibilizado no link abaixo:
hospedá-lo no PythonAnywhere.
https://gist.github.com/drsantos20/a588d92e18e1599fc5592d38d7ac0174
35
PythonAnywhere
Acesse Webhooks e clique em Add webhook
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere.
36
PythonAnywhere
Na página de cadastro do Webhook, insira as informações do
Vamos ajustar nosso projeto para endereço do seu projeto no Pythonanyhere no campo Payload URL
hospedá-lo no PythonAnywhere.
Exemplo: https://drsantos20.pythonanywhere.com/update_server/
37
PythonAnywhere
Vamos ajustar nosso projeto para
hospedá-lo no PythonAnywhere.
Exemplo: https://drsantos20.pythonanywhere.com/hello/
39
PythonAnywhere
Na página de webhook também será possível visualizar o
Vamos ajustar nosso projeto para último deploy feito via webhook pelo Github
hospedá-lo no PythonAnywhere.
40
PythonAnywhere
Caso tenha alguma dúvida, entre em contato com o suporte
Vamos ajustar nosso projeto para ao aluno da EBAC.
hospedá-lo no PythonAnywhere.
Até mais!
41
Bons estudos!
42