oc-develop_oneteam/CONTRIBUIR.md
2024-02-03 21:52:43 -05:00

80 lines
2.8 KiB
Markdown

# CONTRIBUIR
---
>`Para conferir o estado atual do repositório deve ser usada VPN`
### Requerimentos técnicos
* `python >= 3.9`
* `docker >= 20`
* `docker-compose >= 2`
* `pre-commit >= 2`
* `git >= 2.30`
* `rake >= 13`
### Procedimentos para testes
1. Iniciar entorno `rake init`
2. Iterar con `rake tdd`
3. Deter entorno `rake down`
4. limpar cache `git clean -xdf`
### Entorno vivo de desenvolvimento
0. Crear archivo .env y agregar variable TRYTON_PORT_LIVE="Un puerto libre del sistema"
1. Iniciar entorno `rake live:up`
2. Conectar cliente Tryton a `localhost:puerto_configurado` **usuário:** `admin` e **senha:** `admin`
1. Também pode ser usado o cliente web no `http://localhost:puerto_configurado`
2. Para ver saída de `trytond` use `rake live:tail`
3. Deter entorno `rake live:down`
### Despliegue en producción
0. Copiar .env_sample a .env y configurar las variables de entorno
1. Iniciar entorno `rake deploy:up`
2. Conectar cliente Tryton a `localhost:puerto_configurado` **usuário:** `admin` e **senha:** `admin`
1. Também pode ser usado o cliente web no `http://localhost:puerto_configurado`
3. Para ver saída de `trytond` use `rake deploy:tail`
4. Deter entorno `rake live:down`
5. Eliminar entorno (borrará todos los registros) `rake deploy:del`
6. Entrar a la bash del docker `rake deploy:sh_tryton` (otras opciones, sh_cron, sh_worker, sh_nginx, sh_db)
7. Ver top de todos los dockers `rake deploy:top`
### Considerações
* Evitar trabalho desnecessário
* Evitar generalizar: realizar testes inicialmente e depois eliminar duplicidade.
* Evitar redundância: automatizar os processos que sejam necessários.
* Evitar usar `git add .`
* Fazer expressivo o escrito: renomear, realocar ou deletar.
* Os testes devem ser executados em todo momento.
* O programa deve se manter em execução durante o tempo todo.
* Especular, estudar e aprender durante o tempo todo.
### Considerações sobre os testes
* Os cenários (`*.rst`) de teste devem ser escritos em português.
* Escrever em português o texto para identificador de classe e método em arquivos `*.py`
### Convenção de `commit`
As mensagens de `commit` se classificam como:
* **feat(\<COMPONENTE\>)**
* Nova funcionalidade disponibilizada para usuários do Sistema
* **fix(\<COMPONENTE\>)**
* Corrigir funcionalidades previamente entregues
* **chore(\<COMPONENTE\>)**
* Outras modificações que não chegam diretamente aos usuários.
* Exemplo: renomear arquivos, classes, métodos, variáveis, diretórios, scripts, documentação, recursos digitais e outros.
> `COMPONENTE` se refere ao nome do diretório
**Exemplos de `commit`:**
`git commit -m 'feat(<COMPONENTE>): rutas críticas`
`git commit -m 'fix(<COMPONENTE>): se adiciona boton faltante`
`git commit -m 'chore(<COMPONENTE>): cambio de color en columna Cargo`