GitOps is a set of practices that automates the development processes using Git as Source Of Truth. Operational changes are made by pull request (plus build & release pipelines via Jenkins). Docker/Kubernetes based primordial architecture is deployed on the go and build are tested on this infra. This is an awesome way to automate development/operations.

In the GitOps course, we will be covering following technologies/topics:

Version/Source Control Management using GIT

  • Git basic concepts
  • Git working flow
  • Git Repo creation and way to manage it
  • Git environment set up
  • Git clone operation
  • Git pull, commit, push, review operation
  • Handling commit conflicts
  • Git branching
  • Git merge and handling merge conflicts

 Continuous Integration with Jenkins

  • Jenkins overview
  • Installation and configuration of Jenkins
  • Jenkins administration (System/Global configuration, manage plugins, Jenkins CLI)
  • 10 best plugins workarounds
  • Jenkins master-slave set up
  • Freestyle Project/Job creation
  • Pipeline Project/Job creation
  • Integration of Jenkins with other sub-system like GIT, etc
  • Hands on Blue Ocean

Containerization with Docker

  • Introduction to Docker
  • Docker components
  • Docker daemon and services
  • Docker Container
  • Docker Images
  • Docker Volumes
  • Docker Networking
  • Docker file
  • Docker hub (Official docker registry)
  • Set up private Docker registry
  • Docker useful commands

Orchestration via Kubernetes

  • Introduction to Kubernetes
  • Kubernetes architecture
  • Setup Minikube
  • Introduction of Pods in Kubernetes
  • Deploying and managing pods with controllers
  • Auto scaling of pods and cluster nodes

Infrastructure as Code via Git as Source Of Truth

Integration of Git, Jenkins and deploying builds on Docker/Kubernetes based architecture