Como Configurar uma Pipeline para Bitbucket Pipelines em um Projeto Node.js
Vitor Rios
Posted on June 5, 2024
Introdução
Bitbucket Pipelines é uma ferramenta poderosa de integração contínua e entrega contínua (CI/CD) que permite automatizar a construção, teste e implantação de seu código diretamente do Bitbucket. Neste artigo, vamos mostrar como configurar uma pipeline para um projeto Node.js utilizando o Bitbucket Pipelines.
Pré-requisitos
- Conta no Bitbucket.
- Repositório do Bitbucket com um projeto Node.js.
- Conhecimento básico em YAML.
Passo 1: Criar o Arquivo de Configuração
O primeiro passo é criar um arquivo de configuração para o Bitbucket Pipelines. Esse arquivo deve ser chamado bitbucket-pipelines.yml
e deve ser colocado no diretório raiz do seu projeto.
Passo 2: Configurar a Pipeline Básica
Aqui está um exemplo básico de configuração de pipeline para um projeto Node.js:
image: node:14
pipelines:
default:
- step:
name: Install dependencies
caches:
- node
script:
- npm install
- step:
name: Run tests
script:
- npm test
- step:
name: Build and deploy
script:
- npm run build
- ./deploy.sh # Supondo que você tenha um script de deploy
Explicação dos Campos
- image: Define a imagem Docker que será usada para rodar o pipeline. Neste caso, estamos usando a imagem oficial do Node.js.
-
pipelines: Define os pipelines que serão executados. No exemplo, estamos usando o pipeline padrão (
default
). - step: Cada passo define um conjunto de comandos a serem executados.
Passo 3: Configuração Detalhada
Para um cenário mais complexo, por exemplo, se você quiser que o deploy seja executado apenas em branches específicas como main
ou develop
, você pode configurar da seguinte forma:
image: node:14
pipelines:
default:
- step:
name: Install dependencies
caches:
- node
script:
- npm install
- step:
name: Run tests
script:
- npm test
branches:
main:
- step:
name: Build and deploy to production
script:
- npm run build
- ./deploy.sh
develop:
- step:
name: Build and deploy to staging
script:
- npm run build
- ./deploy-staging.sh
Passo 4: Variáveis de Ambiente
Se o seu processo de deploy precisar de variáveis de ambiente (por exemplo, chaves de API, credenciais, etc.), você pode configurá-las diretamente no Bitbucket:
- Vá para o seu repositório no Bitbucket.
- Clique em Repository settings.
- Vá para a seção Pipelines > Environment variables.
- Adicione as variáveis necessárias.
Passo 5: Script de Deploy
Aqui está um exemplo simples de um script de deploy (deploy.sh
) que você pode usar para copiar o build para o servidor e reiniciar a aplicação:
#!/bin/bash
# Fazer o deploy do build para o servidor
scp -r ./build user@your-server:/path/to/deploy
# Rodar comandos no servidor remoto
ssh user@your-server << 'EOF'
cd /path/to/deploy
npm install --production
pm2 restart your-app
EOF
Explicação do Script
-
scp: Este comando copia recursivamente a pasta
./build
para o servidor remoto. -
ssh: Este comando executa comandos no servidor remoto. No exemplo, ele navega até o diretório de deploy, instala as dependências de produção e reinicia a aplicação usando
pm2
.
Conclusão
Configurar uma pipeline no Bitbucket Pipelines é uma maneira eficiente de automatizar o processo de construção, teste e implantação de seu projeto Node.js. O exemplo fornecido aqui é um ponto de partida que você pode personalizar conforme suas necessidades específicas.
A automação de tarefas repetitivas não só economiza tempo, mas também reduz o risco de erros humanos, garantindo que o código seja testado e implantado de maneira consistente.
Se você tiver dúvidas ou precisar de mais detalhes sobre algum dos passos, sinta-se à vontade para perguntar!
Caso queira dar uma olhadinha no código, segue o link do repositório:
Posted on June 5, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.