Skip to content

Commit 52f17ec

Browse files
josuapenaMatheus Elyasha LOPES
authored andcommitted
Merged PR 120: Deploy documentation.
- Inclusion of deploy documentation. - Inclusion of maintenance documentation file. - Inclusion of server documentation file. - Inclusion of MkDocs
2 parents 4603c16 + 803d30c commit 52f17ec

File tree

4 files changed

+166
-0
lines changed

4 files changed

+166
-0
lines changed

docs/deployment/deploy.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Implantação
2+
A implantação do site da **Hollow** e todas as atividades que tornam o serviço web disponível para uso.
3+
4+
As fases da atividade de implantação são:
5+
6+
1. ``Liberação``: Às vezes, isso envolve determinar os recursos necessários para que o sistema opere com desempenho e planejamento toleráveis ​​e / ou documentar atividades subsequentes no processo de implantação. Então, você tem que saber o tamanho dos aplicativos que serão definidos com o Heroku.
7+
8+
2. ``Instalação e ativação``: É feito com o Heroku. Fazemos o 'push' do branch `local/production` (que deve ser testado) como` heroku/master`.
9+
10+
3. ``Desativação``: A prática de remover do serviço sistemas usados ​​com pouca frequência ou obsoletos é frequentemente referida como aposentadoria ou solicitação de downgrade. Não há necessidade em nosso caso.
11+
12+
4. ``Desinstalação``: É a remoção de um sistema que não é mais necessário. Não precisamos disso em nosso caso.
13+
14+
5. ``Atualizar``: Normalmente consiste na desativação seguida pela instalação. É preciso um desenvolvedor para manter novas versões do Django e Python.
15+
16+
6. ``Atualização integrada``: atualização do Windows ou equivalente. Isso não se aplica ao nosso caso.
17+
18+
7. ``Monitoramento de versão``: Realizado em ``requirements.txt``.
19+
20+
## Lista de verificação de implantação do Django
21+
22+
Antes de implantar o aplicativo, você precisa saber se ele é adequado para uso na vida real com pessoas da **Hollow**.
23+
24+
Para fazer isso, você deve executar o comando:
25+
26+
```` shell
27+
python manage.py check --deploy
28+
````
29+
30+
Este comando verificará a estabilidade do aplicativo. Corrigimos alguns problemas, mas se você adicionar outro recurso, terá que executar dita verificação.
31+
32+
Para obter mais informações sobre a lista de verificação do Django (recomendamos a leitura):
33+
34+
[Link para a lista de verificação para a implantação do Django ](https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/)
35+
36+
## Verificação de produção
37+
38+
A ``verificação de produção`` (_Production check_) é um recurso do Heroku para saber se sua aplicação está bem implementada.
39+
40+
Os pontos a verificar são:
41+
42+
1. Heroku-18 Stack
43+
2. Contêineres[^1] típicos (recomendamos Contêineres pagos, dado seu uso)
44+
3. Falhas na Redundância dos contêineres
45+
4. Falhas no Banco de dados de Postgres de produção
46+
5. Alta disponibilidade de Postgres
47+
6. Monitoramento do aplicativo em caso de falha
48+
7. Monitorar o registro de falhas
49+
8. Páginas de manutenção personalizadas
50+
9. Heroku SSL
51+
52+
[^1]: No Heroku os contêineres são chamados de "Dynos" em inglês.
53+
54+
Para o servidor de produção, é recomendável ter configurações bem gerenciadas.
55+
56+
## Implantação com heroku
57+
58+
Para obter mais informações sobre a implantação com Heroku, o link para a documentação é:
59+
60+
[Deployment - Heroku](https://devcenter.heroku.com/categories/deployment)
61+
62+
## Preparando uma base de código para a implantação do Heroku
63+
64+
[Preparando uma base de código[^2] para implantação Heroku](https://devcenter.heroku.com/articles/preparing-a-codebase-for-heroku-deployment)
65+
66+
[^2]: Base de código: _codebase_ em inglês.

docs/deployment/maintenance.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
## Manutenção
2+
3+
Para manutenção, acredita-se que a **Hollow** pedirá a um técnico para ver se o banco de dados ainda é funcional, se a aplicação web consegue lidar com todas as solicitações ``http`` do lado do cliente (usuários).
4+
5+
Para maiores informações:
6+
7+
[Como manter um site e um servidor web?](Https://www.decipherzone.com/blog-detail/how-maintain-web-server-website)
8+
9+
[Lista de verificação de manutenção do servidor (12 pontos)](https://www.rackaid.com/blog/server-maintenance-checklist/)

docs/deployment/server.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Servidor
2+
3+
Para gerenciar o servidor, é recomendado que o responsável assista ao [tutorial de uso do python com heroku](https://devcenter.heroku.com/articles/getting-started-with-python), ele contem muitos conceitos importantes para gerenciar o aplicativo.
4+
5+
## Ver os arquivos de log
6+
7+
O Heroku trata os logs (arquivos de log) como fluxos de eventos ordenados por tempo agregados a partir dos fluxos de saída de todos os aplicativos e os componentes do Heroku, fornecendo um único canal para todos os eventos.
8+
9+
Veja informações sobre o seu aplicativo em execução usando um dos comandos `heroku logs --tail`
10+
11+
## Escala de aplicação
12+
13+
Você pode verificar quantos contêineres[^1] estão em execução usando o comando `ps`:
14+
[^1]: No Heroku os contêineres são chamados de "Dynos" em inglês.
15+
16+
```` shell
17+
$ heroku ps
18+
Free dyno hours quota remaining this month: 999h 6m (99%)
19+
Free dyno usage for this app: 0h 0m (0%)
20+
For more information on dyno sleeping and how to upgrade, see:
21+
https://devcenter.heroku.com/articles/dyno-sleeping
22+
23+
=== web (Free): gunicorn gettingstarted.wsgi (1)
24+
web.1: up 2018/10/12 14:26:45 -0500 (~ 33s ago)
25+
````
26+
27+
Por padrão, seu aplicativo é implantado em um contêiner gratuito. Os mesmos serão desativados após meia hora de inatividade (se não estiverem recebendo tráfego). Isso causa um atraso de alguns segundos para a primeira solicitação de ativação. As solicitações subsequentes funcionarão normalmente. Os contêineres grátis também consomem de uma cota mensal gratuita do contêiner - desde que a cota não seja usada, todos os aplicativos gratuitos podem continuar a funcionar.
28+
29+
Para evitar a desativação do contêiner, você pode mudar para um profissional ou tipo de contêiner conforme descrito no artigo [Tipos de contêiner](https://devcenter.heroku.com/articles/dyno-types). Por exemplo, se você está migrando seu aplicativo para um contêiner profissional, pode escalá-lo facilmente executando um comando que diz ao Heroku para executar um número específico de contêineres, cada um executando seu tipo de processo da web.
30+
31+
O dimensionamento de um aplicativo no Heroku é equivalente a alterar o número de contêineres em execução.
32+
33+
Escala do número de contêineres da web até zero:
34+
35+
```` shell
36+
heroku ps:scale web=0
37+
````
38+
39+
Escale novamente:
40+
```` shell
41+
heroku ps:scale web=1
42+
43+
````
44+
45+
## Inicie um console
46+
47+
Você pode executar qualquer comando, geralmente scripts e aplicativos que fazem parte do seu aplicativo, em um único contêiner usando o comando `heroku run`. Ele também pode ser usado para iniciar um processo REPL anexado ao seu terminal local para experimentar em seu ambiente de aplicativo:
48+
49+
````shell
50+
$ heroku run python manage.py shell
51+
Python 3.7.6 (default, Dec 23 2019, 04:25:22)
52+
[GCC 7.4.0] on linux
53+
Type "help", "copyright", "credits" or "license" for more information.
54+
(InteractiveConsole)
55+
>>>
56+
````
57+
58+
Se você receber um erro de ``Erro ao conectar ao processo``, pode ser necessário configurar seu firewall.
59+
60+
O shell Python está sendo executado no contexto de seu aplicativo e todas as suas dependências. De lá, você pode importar alguns dos arquivos do seu aplicativo.
61+
62+
Para ter uma ideia real de como o contêiner funciona, você pode criar outro contêiner exclusivo e executar o comando, que abre um shell naquele contêiner. Você pode então executar comandos lá. Cada contêiner tem seu próprio espaço de arquivo efêmero, preenchido por seu aplicativo e suas dependências. Nesse caso, assim que o comando for concluído, o contêiner será excluído.
63+
64+
````shell
65+
$ heroku run bash
66+
Running `bash` attached to terminal... up, run.3052
67+
~ $ ls
68+
gettingstarted hello manage.py Procfile README.md requirements.txt runtime.txt staticfiles
69+
~ $ exit
70+
exit
71+
````
72+
73+
Não se esqueça de digitar 'exit' para sair do shell e encerrar o contêiner.

docs/mkdocs.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Bem-vindo ao MkDocs
2+
3+
Para obter a documentação completa, visite [mkdocs.org](https://www.mkdocs.org).
4+
5+
## Comandos
6+
7+
* `mkdocs new [nome-do-diretório]` - Cria um novo projeto.
8+
* `mkdocs serve` - Inicia o servidor _live-reloading_ de docs.
9+
* `mkdocs build` - Construi o site de documentação.
10+
* `mkdocs -h` - Imprime mensagem de ajuda e sai.
11+
* `mkdocs gh-deploy` - Implanta o site nas páginas do github
12+
13+
## Layout do projeto
14+
15+
mkdocs.yml # O arquivo de configuração.
16+
docs/
17+
index.md # A página inicial da documentação.
18+
... # Outras páginas de markdown, imagens e outros arquivos.

0 commit comments

Comments
 (0)