wils@web ~ $ cat ~/ajuda/como-implementar-ci-cd-com-github-actions-e-docker-para-aplicacoes-node-js.md

DevOps

Como implementar CI/CD com GitHub Actions e Docker para aplicações Node.js

atualizado em 20/07/2026

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:

  1. Acesse seu repositório no GitHub.
  2. Vá em Settings > Secrets.
  3. 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.