Skip to content

repository responsible for initializing the environment for applying the new software

Notifications You must be signed in to change notification settings

iKaueMatos/Docker-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Docker - dev 🐳

Build Status License

Sumário

📄 Descrição

Este repositório contém toda a orquestração de containers dentro da nova software para o ambiente de desenvolviemnto, uma plataforma inovadora para Nova software, teve seu início em 2023 com intuito de ser um sistema onde fornece serviços personalizados atendendo as demandas de micro empresas que estão iniciando no mercado de ecommerce ou seja vendas online. O sistemas está na sua faze de desenvolvimento é previsto que seu término ocorrerá em 2025, entretanto até o desenvolvimento ser totalmente concluído alguns serviços seriam disponibilizados afim de teste feitos pelos próprios usuário compreendendo as reais necessidades do mesmo.. O sistema é construído para ser escalável, modular e de fácil manutenção, utilizando uma arquitetura baseada em microserviços.

⚙️ Configuração do Ambiente

Pré-requisitos

Passo a Passo

  1. Clone o repositório:

      git@github.com:Nova-Software-Organization/Nova-core.git
  2. Configure as variáveis de ambiente criando um arquivo application-dev.properties na raiz do projeto e defina as variáveis necessárias:

    DATABASE_URL=mysql://usuario:senha@localhost:5432/meubanco
    REDIS_URL=redis://localhost:6379/0
    RABBITMQ_URL=amqp://guest:guest@localhost:5672/
    AWS_ACCESS_KEY_ID=sua_chave_de_acesso
    AWS_SECRET_ACCESS_KEY=sua_chave_secreta
    AWS_REGION=sua_regiao
    JWT_SECRET=seu_segredo_jwt
  3. Instale as dependências:

    • Para serviços Java com Spring Boot:

      ./mvnw install
    • Para serviços Python:

      pip install -r requirements.txt
  4. Inicie os contêineres Docker:

    docker-compose up -d

🚀 Execução

Para iniciar um microserviço específico, siga o exemplo abaixo:

  1. Navegue até o diretório do serviço desejado:

    • Para o serviço de autenticação (Spring Boot):

      cd services/auth_service
    • Para o serviço de relatórios (Python):

      cd services/report_service
  2. Inicie o serviço:

    • Para serviços Java com Spring Boot:

      ./mvnw spring-boot:run
    • Para serviços Python:

      uvicorn main:app --host 0.0.0.0 --port 8000
  3. Acesse o serviço através da URL:

    http://localhost:8000
    

🐳 Ambiente de Desenvolvimento com Docker

Configuração

  1. Certifique-se de que o Docker e o Docker Compose estão instalados em seu sistema.

  2. Clone o repositório e navegue até a pasta do projeto, matendo o projeto docker-dev junto com os microserviços:

    git clone git@github.com:Nova-Software-Organization/docker-dev.git
    cd docker-dev
  3. Crie e configure o arquivo .env com as variáveis de ambiente necessárias (veja a seção Configuração do Ambiente).

  4. Suba os contêineres Docker para o ambiente de desenvolvimento:

    docker-compose -f docker-compose.dev.yml up -d
  5. Para visualizar os logs dos contêineres em tempo real:

    docker-compose logs -f

Desenvolvimento

Durante o desenvolvimento, você pode acessar os serviços individuais através dos contêineres Docker. Utilize volumes do Docker para sincronizar o código local com os contêineres para um desenvolvimento mais rápido.

Para acessar um contêiner específico e realizar comandos diretamente nele:

docker-compose exec <nome_do_servico> /bin/sh

🌐 Ambiente de Produção com Docker | Somente para ADM

Configuração

  1. Certifique-se de que o Docker e o Docker Compose estão instalados no servidor de produção.

  2. Clone o repositório no servidor de produção:

    git clone git@github.com:Nova-Software-Organization/docker-dev.git
    cd repositorio
  3. Configure as variáveis de ambiente necessárias em um arquivo .env.prod:

    DATABASE_URL=postgresql://usuario:senha@db_producao:5432/meubanco
    REDIS_URL=redis://redis_producao:6379/0
    RABBITMQ_URL=amqp://guest:guest@rabbitmq_producao:5672/
    AWS_ACCESS_KEY_ID=sua_chave_de_acesso_producao
    AWS_SECRET_ACCESS_KEY=sua_chave_secreta_producao
    AWS_REGION=sua_regiao_producao
    JWT_SECRET=seu_segredo_jwt_producao
  4. Suba os contêineres Docker para o ambiente de produção:

    docker-compose -f docker-compose.prod.yml up -d

Monitoramento e Logs

Para monitorar os serviços e visualizar logs:

docker-compose -f docker-compose.prod.yml logs -f

Atualizações e Deploy Contínuo

Para aplicar atualizações e realizar deploy contínuo:

  1. Puxe as últimas mudanças do repositório:

    git pull origin main
  2. Recrie os contêineres com as novas mudanças:

    docker-compose -f docker-compose.prod.yml up -d --build

🧪 Testes

Execute os testes automatizados utilizando os seguintes comandos:

  • Para serviços Java com Spring Boot:

    ./mvnw test
  • Para serviços Python:

    pytest

🤝 Contribuições

Contribuições são bem-vindas! Por favor, siga os passos abaixo para contribuir:

  1. Faça um fork do projeto.
  2. Crie uma branch para sua feature (git checkout -b feature/nova-feature).
  3. Commit suas mudanças (git commit -m 'Adiciona nova feature').
  4. Push para a branch (git push origin feature/nova-feature

📜 Licença

Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

📞 Contato

Para dúvidas e suporte, entre em contato com novasoftwareorganization@gmail.com

About

repository responsible for initializing the environment for applying the new software

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages