fga-eps-mds / 2020.2-Anunbis

Aplicação que auxilia na avaliação de professores e disciplinas da UnB. Anunbis: https://anunbis-frontend.herokuapp.com/. Anunbis-API: http://anunbis-backend.herokuapp.com/
https://fga-eps-mds.github.io/2020.2-Anunbis/
GNU General Public License v3.0
5 stars 11 forks source link

Deploy continuo front e back #200

Closed RcleydsonR closed 3 years ago

RcleydsonR commented 3 years ago

Descrição:

Já haviamos feito o deploy no heroku, mas não implementamos a funcionalidade do deploy continuo, esta issue é destinada ao funcionamento deste deploy, tanto do front quanto no back

Tarefas:

Critérios de aceitação:

RcleydsonR commented 3 years ago

Para o front-end estarei utilizando o script actions desse repo.

thiagohdaqw commented 3 years ago

Migration

Consegui implementar as migrações. Para quem nao sabe, as migrações servem para manejar o versionamento do banco de dados, entao isso vai nos ajudar bastante na hora de mudar algum model. Além disso, nao há mais a necessidade do codigo sql que um dia existiu em database/database.sql, agora é só modificar os models de app/model.

Para integrar isso com mysql+docker foi trabalhoso porque o flask começava a iniciar antes do mysql e isso dava erro, mesmo com o depends-on no docker-compose.yml . Para resolver isso, tive que mudar a forma que o flask inicia para que ele só iniciasse depois do mysql iniciar completamente. image Nesse caso, so iniciará a aplicação apos o retorno do comando flask db upgrade for zero, ou seja, o flask conseguir se comunicar com o banco de dados. Para o heroku nao é necessario esse script porq o banco de dados tá sempre online.

thiagohdaqw commented 3 years ago

Makefile

Algo que eu só descobri agora e ajuda muito é o Make. Ele é um gerenciador de comandos, como os scripts do npm, que nos ajuda a organizar os gigantescos comandos da aplicação. Pelo menos no Ubuntu, ele ja vem instalado, já no Windows é necessario instalar ele e colocar no path. image

Para rodar ele é bem tranquilo, basta digitar make + o comando desejavel, como o make install e make test