<p>In normal kubernetes CI/CD process , following process occurs :</p>
<ul>
<li>clone code from git</li>
<li>build and push docker image</li>
<li>update kubernetes deployment with updated code</li>
</ul>
<p>According to gitops definition</p>
<p><em>GitOps is a new approach to Continuous Deployment that leverages Git as a single source of truth for declarative infrastructure and applications, providing both revision and change control. With GitOps, a system is run by submitting pull requests (and subsequent merges) to achieve the desired state of the system represented in a Git repository</em></p>
<p>what my understanding of gitops is , when you update anything in git (as this is the source of truth) , the desired state of kubernetes changes to the latest one and the latest code is deployed.</p>
<p><strong>End Result of traditional CI/CD without gitops</strong>:  new code is deployed as kubernetes deployment</p>
<p><strong>End Result of gitops</strong>: new code is deployed as kubernetes deployment</p>
<p>I am unable to figure the difference . sorry if it sounds weird to you. But I am kinda new and exploring gitops .</p>
<p>Thanks in advance for your response</p>

hanzala
<p>GitOps is nothing but extending CI/CD principles beyond application code: to infra code. Simple. You can think of using Git as source of truth that combines with Terraform (provisioning), Ansible (config mgmt) and Kubernetes (orchestration) as an example ...in order to achieve the goal of keeping Git as 1:1 reflection of your infra. It's nothing new and do not be worried about such fancy terms...</p>
