Project Description
CI/CD, which stands for continuous integration (CI) and continuous delivery (CD), creates a faster and more precise way of combining the work of different people into one cohesive product. In application development and operations (DevOps), CI/CD streamlines application coding, testing and deployment by giving teams a single repository for storing work and automation tools to consistently combine and test the code to ensure it works.
Goal for this Hackweek
A simple example that demonstrates an integration and test system that hosts repository on Gitlab which runs a series of tests and builds a docker image. It also pushes the built image to the Kubernetes cluster.
Resources
Free Gitlab account to hold repository Free Docker account to hold built image Virtual machines (probably opensuse Tumblewee) to hold Kubernetes cluster Network environment for accessing various websites and inter-connectivity between Gitlab/Docker/Kubernetes
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 21
Activity
Comments
-
over 2 years ago by waynechen55 | Reply
What I did:
Convert python script openQAJobsReview.py to Flask app
Install self-managed Gitlab instance on a new virtual machine
Install self-managed Gitlab runner on the above virtual machine
Create new Gitlab repository to hold Flask app and configure CI/CD settings
Write up Dockerfile to build docker image
Setup Kubernetes cluster by using two new virtual machines (one master, one worker)
Write up Gitlab CI/CD .gitlab-ci.yml
Write up Kubernetes deployment template deploy.tmpl
There are diagram and video to demonstrate the CI/CD pipeline in action
Similar Projects
This project is one of its kind!