Rodar com Docker
Uma das formas de rodar todo o projeto em ambiente de produção é utilizando o docker
e docker-compose
. Caso não tenha instalado em sua máquina, execute o seguinte script presente na pasta principal do repositório oficial do projeto.
chmod +x ./install_docker.sh
./install_docker.sh
Configurando arquivo docker-compose
Para executar todos os contêineres, primeiramente realize a cópia do arquivo docker-compose-prod-only-api-example.yml
, renomeando o mesmo para docker-compose-prod-only-api.yml
.
cp docker-compose-prod-only-api-example.yml docker-compose-prod-only-api.yml
Lembre-se de configurar os arquivos de hosts utilizados pelo Nginx. Clique aqui para visualizar a configuração.
Realizar deploy
do Painel de Controle e API (Backend)
Com a utilização do script setup_all.sh
é possivel colocar em produção tanto o Painel de Controle quanto a API com somente um comando. Este arquivo realizará os seguintes passos:
- Instalação do
docker
edocker-compose
. - Instalação e configuração da versão do
node v16.0.0
. - Realização do processo de build do Painel de Controle.
- Realização do processo de build da API (Backend).
- Instalação do Nginx.
- Configuração do Proxy.
- Configuração dos certificados SSL.
- Agendamento mensal de renovação dos certificados SSL.
Lembre-se de configurar as variáveis de ambiente do Painel de Controle e da API (Backend).
Por fim, basta executar os seguintes comandos:
Será necessário informar o domínio utilizado para o Painel de Controle (Frontend) e para a API (Backend). Assim como, um e-mail para a configuração dos certificados SSL.
chmod +x ./setup_all.sh
./setup_all.sh
Realizar deploy
somente do Painel de Controle
Com a utilização do script setup_only_frontend.sh
é possivel colocar em produção o Painel de Controle com somente um comando. Este arquivo realizará os seguintes passos:
- Instalação e configuração da versão do
node v16.0.0
. - Realização do processo de build do Painel de Controle.
- Instalação do Nginx.
- Configuração do Proxy.
- Configuração dos certificados SSL.
- Agendamento mensal de renovação dos certificados SSL.
Lembre-se de configurar as variáveis de ambiente do Painel de Controle.
Por fim, basta executar os seguintes comandos:
Será necessário informar o domínio utilizado para o Painel de Controle (Frontend). Assim como, um e-mail para a configuração dos certificados SSL.
chmod +x ./setup_only_frontend.sh
./setup_only_frontend.sh
Realizar deploy
somente da API (Backend)
Com a utilização do script setup_only_backend.sh
é possivel colocar em produção a API com somente um comando. Este arquivo realizará os seguintes passos:
- Instalação do
docker
edocker-compose
. - Instalação e configuração da versão do
node v16.0.0
. - Realização do processo de build da API (Backend).
- Instalação do Nginx.
- Configuração do Proxy.
- Configuração dos certificados SSL.
- Agendamento mensal de renovação dos certificados SSL.
Lembre-se de configurar as variáveis de ambiente da API (Backend).
Por fim, basta executar os seguintes comandos:
Será necessário informar o domínio utilizado para a API (Backend). Assim como, um e-mail para a configuração dos certificados SSL.
chmod +x ./setup_only_backend.sh
./setup_only_backend.sh
Realizar build
do Aplicativo Móvel
Lembre-se de configurar as variáveis de ambiente para o Aplicativo Móvel.
Caso queira ver a documentação do próprio expo a respeito do build, clique aqui.
Utilizando o eas
, realize o login com sua conta do expo.
eas login
Realize a configuração do build
.
eas build:configure
E siga os passos necessários.
Por fim, basta rodar o comando que realiza o build
eas build --platform android
eas build --platform ios
eas build --platform all
Será necessário aguardar um tempo para que o build seja finalizado. É possível verificar se já foi feito listando os builds finalizados.
eas build:list
Atualizar deploy
do Painel de Controle
Utilize o script update_frontend_production.sh
para realizar a atualização do Painel de Controle caso efetue alguma modificação após o mesmo já estar funcionando no servidor. O script realiza as seguintes ações:
- Instala as dependências caso exista alguma faltante.
- Realiza o processo de build do Painel de Controle.
- Copia os arquivos gerados para a pasta
/var/www/html/quiz
(pasta root padrão da configuração dos arquivos de hosts do Nginx).
Sendo assim, para executar o script, basta executar os seguintes comandos:
chmod +x ./update_frontend_production.sh
./update_frontend_production.sh
Atualizar deploy
da API (Backend)
Utilize o script update_backend_production.sh
para realizar a atualização da API (Backend) caso realize alguma modificação após a mesma já estar funcionando no servidor. O script realiza as seguintes ações:
- Para o container da API (Backend).
- Inicia novamente o container da API (Backend).
Sendo assim, para executar o script basta executar os seguintes comandos:
chmod +x ./update_backend_production.sh
./update_backend_production.sh