mdccg / exemplo-ci-cd-api

Fluxo de integração contínua aplicado ao app Refactored Contact Book API.

Home Page:https://exemplo-cicd-api.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

exemplo-ci-cd-api

Sumário

Motivação

Este app é uma demonstração do uso de integração e entrega contínuas utilizando o workflow intitulado "Node.js" e pré-configurado pelo próprio GitHub Actions. O fluxo ouve os commits feitos na branch test e faz deploy no domínio de teste do projeto Vercel para testar o que foi commitado. Após o deploy, os testes de ponta a ponta contidos no arquivo contacts.postman_collection.json são executados. Se todos os testes passarem, a branch test é mesclada com a branch main e é feito um segundo deploy, desta vez no domínio de produção.

Foi utilizado como base o repositório mdccg/refactored-contact-book-api, o qual já contém os respectivos testes prontos e um app de exemplo para testar.

Este foi o oitavo repositório de código apresentado no Curso Superior de TSI do IFMS como requisito para obtenção da nota parcial das atividades da unidade curricular Linguagem de Programação III.

← Repositório anterior Próximo repositório →

Pilha de tecnologia

Papel Tecnologia
Ambiente de execução Node
Linguagem de programação TypeScript
Framework web Express.js
Virtualização de banco de dados Docker
Banco de dados remoto MongoDB Atlas
Framework de teste Postman
Hospedagem Vercel
Fluxo de integração contínua Node.js

Como rodar

Pré-requisitos

Passo a passo

  1. Clone o repositório de código em sua máquina;

  2. Abra um shell de comando de sua preferência (prompt de comando, PowerShell, terminal etc.);

  3. Instale as dependências do projeto através do seguinte comando:

$ npm install

Caso esteja utilizando o gerenciador de pacotes Yarn, execute o seguinte comando como alternativa:

$ yarn
  1. Com o Docker instalado, execute o comando abaixo para levantar o container Docker com o respectivo banco de dados virtualizado. Certifique-se de estar no diretório do arquivo docker-compose.yml;
$ docker-compose up -d

O parâmetro -d serve para desocupar o shell de comando logo após a execução do comando. É uma boa convenção, ao encerrar a execução do app, derrubar o container levantado através do comando:

$ docker-compose down

Mas, não se preocupe. As tuplas inseridas no banco de dados não serão deletadas com a derrubada do container.

  1. Execute o seguinte comando para executar o app:

Para npm:

$ npm run start

Para Yarn:

$ yarn start
  1. Para executar os testes, instale a dependência newman globamente e execute o seguinte comando:
$ npm i -g newman
$ newman run contacts.postman_collection.json

About

Fluxo de integração contínua aplicado ao app Refactored Contact Book API.

https://exemplo-cicd-api.vercel.app/


Languages

Language:TypeScript 100.0%