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

  • almost 2 years ago: pdostal liked this project.
  • almost 2 years ago: aextecki liked this project.
  • almost 2 years ago: aextecki started this project.
  • almost 2 years ago: waynechen55 originated this project.

  • Comments

    • waynechen55
      over 1 year 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!