This is a legacy CI/CD project (2019) for the https://cubo.network/ platform. In the past, this project was responsible for ensuring the delivery of new features by aligning the gitflow process with deployment in environments and approvals in accordance with the PO's delivery expectations.
Following the flow below we had a complete delivery conveyor, where cards in Jira were moved between stages automatically given the deployment context in the environment, PO approval for example.
As well as the mechanics of moving the card between Jira lanes activated the triggers to deploy in the environments. (this meant that the PO himself was able to deploy a feature without depending on a dev).
The entire CI/CD process for this project is made by serverless, as well the main code was developed.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
This project has some private dependencies, so its necessary to login to npm registry before run the following commands.
First of all you need to clone this repository in your machine:
git clone git@github.com:MatheusGeiger/continuous-delivery.git
After that you need to run the install command:
npm i
This project have been developed using Serverless Architecture
and to help us to deploy and operating the resources in to the Cloud we decided to use Serverless Framework. For use of Serverless Framework we need to install serverless cli
running the following command:
npm install -g serverless
We are using JSDoc with docdash template for document our code. To generate documentation html files run the command above (The html files will be created at ./docs/dist folder).
npm run generate-docs
This project was developed using the concepts for Serverless Architecture throught AWS Cloud. So to deploy this project you need to follow some steps:
- Configure your AWS credentials:
sls config credentials --provider aws --key <your_aws_access_key> --secret <your_aws_secret_key>
- Run script to deploy, where ${ENV} could be
dev
,staging
orprod
:
npm run deploy:${ENV}
These projects uses:
We use Semantic Versioning for versioning. For the versions available, see the tags on this repository.