wils@web ~ $ cat ~/ajuda/como-implementar-ci-cd-com-github-actions-e-docker-para-aplicacoes-node-js.md
DevOpsComo implementar CI/CD com GitHub Actions e Docker para aplicações Node.js
Este manual irá guiá-lo na implementação de CI/CD usando GitHub Actions e Docker para aplicações Node.js, facilitando o processo de integração e entrega contínua.
Introdução
CI/CD (Integração Contínua e Entrega Contínua) é uma prática que permite que desenvolvedores integrem alterações de código em um repositório compartilhado com frequência, garantindo que o software seja sempre testado e implantado de forma automatizada.
Pré-requisitos
- Conta no GitHub
- Docker instalado localmente
- Node.js e npm instalados
- Repositório GitHub com código da aplicação Node.js
Passo a Passo
1. Criar o Dockerfile
No diretório raiz da sua aplicação, crie um arquivo chamado Dockerfile com o seguinte conteúdo:
FROM node:14
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "node", "app.js" ] 2. Criar o arquivo de workflow do GitHub Actions
Crie um diretório chamado .github/workflows e dentro dele, crie um arquivo chamado ci-cd.yml com o seguinte conteúdo:
name: CI/CD
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checar o código
uses: actions/checkout@v2
- name: Configurar Docker
run: |
docker build -t my-node-app .
- name: Rodar os testes
run: |
docker run my-node-app npm test 3. Configurar o repositório para o Docker Hub
Crie um repositório no Docker Hub e adicione as credenciais no GitHub como segredos:
- Acesse seu repositório no GitHub.
- Vá em Settings > Secrets.
- Adicione DOCKER_USERNAME e DOCKER_PASSWORD.
4. Atualizar o arquivo de workflow
Adicione as etapas para fazer o push da imagem Docker para o Docker Hub:
- name: Login no Docker Hub
run: |
echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: Push da imagem
run: |
docker tag my-node-app ${{ secrets.DOCKER_USERNAME }}/my-node-app:latest
docker push ${{ secrets.DOCKER_USERNAME }}/my-node-app:latest Conclusão
Com esses passos, você implementou uma pipeline de CI/CD usando GitHub Actions e Docker para sua aplicação Node.js. Isso garante que seu código esteja sempre em um estado funcional e pronto para produção.
Dica: Monitore os logs das ações no GitHub para identificar rapidamente qualquer falha no processo de CI/CD.
Precisa de ajuda com isso no seu servidor? A gente resolve pra você.
falar no WhatsApp →// deu erro ou não funcionou?
Achou algo errado neste manual?
Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.