"GitOps literally means using Git everywhere from development to deployment.
- Code : Write your application code and push it to Git (GitHub/GitLab etc)
- Build (Pipeline as Code): Write a declarative build pipeline code(yaml) in Git to build your code on the fly using CI tools like TravisCI or GitLabCI.
- Provision (Infrastructure as Code): Write a terraform (.tf)file or Ansible playbook(yaml) in Git to provision a kubernetes cluster or server i.e.compute instances on cloud(ec2/gce/azureVM)
- Deploy : Write a deployment manifest(yaml) for kubernetes or based on the type of application/artifact, git web hooks use declarative CI(yaml) to deploy it on a kubernetes cluster/server/container registry(ecr/gcr/jfrog)
Resources for GitOps:
GitOps - Operations by Pull Request"