Skip to content

Commit

Permalink
Merge pull request #75 from Trilha-de-Qualidade/34-fundamentos-de-qa-…
Browse files Browse the repository at this point in the history
…ambiente-de-desenvolvimento

Página Ambiente de Teste - AMbiente de desenvolvimento
  • Loading branch information
wederson authored Jun 10, 2024
2 parents add760c + 2bd462b commit a3e8685
Showing 1 changed file with 119 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,122 @@ sidebar_position: 2

# Ambiente de desenvolvimento

Definir
O ambiente de desenvolvimento é onde os desenvolvedores escrevem, testam e depuram seu código. Este ambiente deve ser configurado de forma que cada desenvolvedor possa trabalhar de maneira eficiente e produtiva, replicando o ambiente de produção o mais próximo possível. Ter um ambiente de desenvolvimento bem configurado é crucial para garantir a qualidade do código desde as fases iniciais do desenvolvimento.

---

## Importância do ambiente de desenvolvimento

Um ambiente de desenvolvimento adequado é importante por várias razões:

- **Eficiência:** Facilita o trabalho dos desenvolvedores, permitindo que eles foquem no desenvolvimento de funcionalidades e resolução de problemas.
- **Consistência:** Garante que todos os membros da equipe trabalhem em um ambiente similar, minimizando problemas de "funciona na minha máquina".
- **Paridade:** Aumenta a probabilidade de que o comportamento do software no ambiente de desenvolvimento será similar ao de produção.
- **Isolamento:** Mantém o desenvolvimento separado dos ambientes de teste e produção, evitando interferências e riscos de segurança.

---

## Componentes do ambiente de desenvolvimento

Um ambiente de desenvolvimento típico pode incluir os seguintes componentes:

- **Sistema operacional:** Pode ser Windows, macOS ou Linux, dependendo das preferências e necessidades do projeto.
- **Editor de código/IDE:** Ferramentas como Visual Studio Code, IntelliJ IDEA, PyCharm, etc., ajudam na edição e depuração do código.
- **Controle de versão:** Ferramentas como Git para gerenciar versões do código.
- **Ambiente de execução:** Plataformas como Node.js para executar o código JavaScript.
- **Dependências:** Gerenciadores de pacotes como npm ou yarn para instalar bibliotecas e dependências.
- **Servidores locais:** Ferramentas como Docker para criar ambientes de execução isolados.

---

## Boas práticas na configuração do ambiente de desenvolvimento

Para garantir um ambiente de desenvolvimento eficiente e produtivo, é importante seguir algumas boas práticas:

- **Documentação:** Mantenha uma documentação clara sobre como configurar o ambiente de desenvolvimento.
- **Automatização:** Use scripts e ferramentas para automatizar a configuração do ambiente.
- **Consistência:** Padronize a configuração do ambiente entre todos os desenvolvedores para evitar discrepâncias.
- **Isolamento:** Use contêineres ou máquinas virtuais para isolar o ambiente de desenvolvimento do sistema operacional do desenvolvedor.
- **Atualização:** Mantenha o ambiente de desenvolvimento atualizado com as últimas versões das ferramentas e dependências.

---

## Ferramentas para configuração do ambiente de desenvolvimento

Aqui estão algumas ferramentas populares que podem ajudar na configuração do ambiente de desenvolvimento:

- **[Docker](https://www.docker.com/):** Para criar contêineres que replicam o ambiente de produção.
- **[Vagrant](https://www.vagrantup.com/):** Para criar e configurar máquinas virtuais de desenvolvimento.
- **[Git](https://www.git-scm.com/):** Para controle de versão e colaboração.
- **[npm](https://www.npmjs.com/)/[yarn](https://yarnpkg.com/):** Para gerenciar pacotes e dependências de JavaScript.
- **V[isual Studio Code](https://code.visualstudio.com/):** Um editor de código poderoso e extensível.
- **[ESLint](https://eslint.org/):** Para manter a qualidade do código com regras de linting.

---

## Exemplo de configuração de ambiente de desenvolvimento com Docker

Aqui está um exemplo simples de como configurar um ambiente de desenvolvimento para uma aplicação Node.js usando Docker:

### Dockerfile

```dockerfile
# Usa uma imagem base do Node.js
FROM node:14

# Define o diretório de trabalho
WORKDIR /app

# Copia o package.json e instala as dependências
COPY package.json ./
RUN npm install

# Copia o código-fonte da aplicação
COPY . .

# Exponha a porta em que a aplicação será executada
EXPOSE 3000

# Comando para iniciar a aplicação
CMD ["npm", "start"]
```

### docker-compose.yml
version: '3'

services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:3000"
environment:
- NODE_ENV=development
volumes:
- .:/app
- /app/node_modules
db:
image: postgres:13
ports:
- "5432:5432"
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: devdb
volumes:
- pgdata:/var/lib/postgresql/data

volumes:
pgdata:
```
### Passos para configuração
1. **Instale o Docker e o Docker Compose**: Certifique-se de que você tem o Docker e o Docker Compose instalados em sua máquina.
2. **Crie um Dockerfile**: Defina um Dockerfile para especificar como sua aplicação deve ser construída e configurada.
3. **Crie um arquivo docker-compose.yml**: Use o Docker Compose para definir e executar multi-contêineres.
4. **Construa e inicie os contêineres**: Execute docker-compose up para construir as imagens e iniciar os contêineres definidos.
Este exemplo cria um ambiente de desenvolvimento isolado para uma aplicação Node.js com uma base de dados PostgreSQL, garantindo que a configuração seja consistente e facilmente reprodutível.
A configuração adequada do ambiente de desenvolvimento é essencial para garantir a produtividade e a qualidade do código. Seguir boas práticas e utilizar as ferramentas certas pode ajudar a criar um ambiente de desenvolvimento eficiente e eficaz.

0 comments on commit a3e8685

Please sign in to comment.