-
Notifications
You must be signed in to change notification settings - Fork 41
CI CD Pipeline
Currently the Graphspace code repository has a lot of mismatched dependency issues & consist no automating techniques in their repository to release or test graphspace image while deploying to production. The Project aims to stabilise & setup the CI/CD pipeline for Graphspace project. The project involves creating a Production ready Dokcerfile setup to install graphspace locally. The project also focuses on automating the release workflow of Docker image to Docker-registry services like AWS ECR or Dockerhub, automating the releasing, testing PR , labelling (PR's & Issues), performing necessary security checks & image vulnerability scans by creating multiple workflows with Github Actions
This project aims to stabilize the project and its code repository as there are multiple dependencies so, this will also help in reducing problems and blockers while setting up this project locally and also setting up the pipeline and checks for the PR to be merged into the master.
- Graphspace dependency issues
Resolve blockers and issues while setting up GraphSpace locally and running this project for eg. upgrading versions of some libraries, resolving requirements.txt file by adding all remaining libraries, installation issues, etc.
- Create a Dockerfile
Creating a docker file for this project which provides a suitable environment for running this project with all required dependencies. Create a docker-compose file that helps us to run this project in Github action workflows and create this image and also helps us to run this locally with minimal setup.
- Setup GitHub Actions
Set up the workflow for the GitHub actions which will provide a suitable environment for running this project and no PR can be merged without the jobs and checks being successful in the workflow. On every pull request and for every commit in the PR, the GitHub actions should trigger all the workflows and jobs written for this project.
- Understood the Graphspace codebase.
- Discussed detailed workflow with mentors along with implementation ideas.
- Refined the strategic plan for project completion.
- Major Bug fixes done: (efa207)
- Fixed file extension typo for base.html inside templates folder for bootstrap-table static component
- Bumped psycopg2 version from 2.6.2 to 2.7.4, added lxml inside requirements.txt
- Removed bootstrap and bootstrap-table from bower.json to install.sh for smooth installation of Graphspace
- Created a locally deployable Docker-Compose file with Dockerfile (efee21f) (Demo)
- Added elasticsearch and postgres support for docker-compose
- Created a image deploy workflow to ECR using Github Actions (d292024) (Demo)
- Added some extra github actions workflow for quality & labeling (f8ce6e9)
- Fixed issue installing graphspace on mac (acf602b)
- Added documentation for installing graphspace locally on wiki page on graphspace repository (link)
- Added a Dockerhub workflow to push Graphspace image to dockerhub (c815599) (Demo)
- Added Trivy Vulnerability Scannner to scan docker Images (Demo)
- Created Project Report (Work Product) on github using a Gist File. (Gist File)
- Added Documented work report
- Added gif/Video assets in the report
- Completed the buffer task of the previous weeks
List skills/technologies that the student should be familiar with.
Python, Django, Docker, YAML, GithubActions(essential) AWS (nice to have)