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 → |
---|
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 |
-
Clone o repositório de código em sua máquina;
-
Abra um shell de comando de sua preferência (prompt de comando, PowerShell, terminal etc.);
-
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
- 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.
- Execute o seguinte comando para executar o app:
Para npm:
$ npm run start
Para Yarn:
$ yarn start
- 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