Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config Docker de Testes de Integração #103

Closed
Felipeness opened this issue Mar 22, 2024 · 1 comment · Fixed by #144
Closed

Config Docker de Testes de Integração #103

Felipeness opened this issue Mar 22, 2024 · 1 comment · Fixed by #144
Assignees
Labels
Milestone

Comments

@Felipeness
Copy link

Felipeness commented Mar 22, 2024

Describe the feature

Esta funcionalidade propõe a criação de um setup de Docker Compose para testes de integração em ambientes de projeto Go, visando facilitar a execução de testes em condições semelhantes às de produção de forma isolada e reproduzível.

Description Esta solicitação de funcionalidade envolve a configuração e criação de um setup de Docker Compose para execução de testes de integração em um ambiente de projeto Go (Golang). O objetivo é otimizar o processo de testes permitindo que os desenvolvedores facilmente configurem ambientes de teste isolados que imitam de perto as configurações de produção, assegurando que os testes de integração sejam executados de maneira consistente e controlada através de diferentes configurações de desenvolvimento.

Use Case

Os testes de integração desempenham um papel crucial no ciclo de vida do desenvolvimento, garantindo que os componentes individuais de um sistema de software funcionem juntos conforme esperado. No contexto de projetos Go, essa funcionalidade beneficia os desenvolvedores fornecendo um ambiente de teste reproduzível e isolado, utilizando contêineres Docker. Essa configuração é particularmente útil para testar interações com serviços externos ou bancos de dados, onde simular condições semelhantes à produção é essencial para resultados de testes precisos. Ela melhora a confiabilidade dos testes, facilita os processos de integração contínua (CI) e suporta práticas de DevOps, permitindo que os desenvolvedores testem alterações localmente em uma configuração que espelha o ambiente de CI, reduzindo o problema de "funciona na minha máquina".


Implementation Details

Para implementar essa funcionalidade, um arquivo docker-compose.yml será criado na raiz do projeto Go. Este arquivo definirá os serviços, redes e volumes necessários para os testes de integração. Componentes chave incluirão:

Serviço Go: Define o contêiner da aplicação, construído a partir de um Dockerfile que configura o ambiente Go e inclui o código do projeto.
Serviços Externos: Contêineres para quaisquer serviços externos com os quais a aplicação interage, como bancos de dados, filas de mensagens ou APIs de terceiros, instâncias simuladas ou reais conforme necessário.
Redes: Redes personalizadas para facilitar a comunicação segura e eficiente entre o contêiner da aplicação Go e os serviços externos.
Volumes: Volumes persistentes para serviços que requerem armazenamento de dados, garantindo que os dados sejam mantidos entre execuções de testes, se necessário.
A configuração do Docker Compose será projetada para ser invocada com um comando simples, como docker-compose up -d --build, para executar os testes de integração, e docker-compose down para desmontar o ambiente após os testes. Adicionalmente, um guia ou script pode ser fornecido para simplificar essas operações para os desenvolvedores.


Visual Concepts

Nenhum conceito visual específico é aplicável para esta funcionalidade🐳🐳


Additional Information
@Felipeness Felipeness assigned Felipeness and unassigned Felipeness Mar 22, 2024
@itsfpbtw
Copy link
Contributor

EU QUERO!!!

@PiluVitu PiluVitu added this to the CI (devops) milestone Apr 6, 2024
@GabrielTrindadeC GabrielTrindadeC linked a pull request Apr 8, 2024 that will close this issue
3 tasks
@PiluVitu PiluVitu assigned PiluVitu and unassigned itsfpbtw Apr 23, 2024
@devlefel devlefel changed the title Config Docker Config Docker de Testes de Integração Apr 27, 2024
@PiluVitu PiluVitu added the CI/CD label Jun 3, 2024
@PiluVitu PiluVitu mentioned this issue Jun 4, 2024
3 tasks
@PiluVitu PiluVitu removed a link to a pull request Jun 4, 2024
3 tasks
@PiluVitu PiluVitu linked a pull request Jun 4, 2024 that will close this issue
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants