Chapter 12. Integrating CI with Argo CD
Continuous integration/continuous delivery (CI/CD) have long been foundational practices for efficiently delivering applications to various environments. Over the years, these methodologies have shaped the development landscape, giving rise to a wide array of tools and frameworks, with Jenkins being a notable example. However, as CI/CD practices have evolved, they have often become conflated, leading many users to merge CI/CD into a single, indistinguishable process.
This produces an issue with GitOps and, by extension, Argo CD.
CI is a synchronous process with a finite runtime, typically triggered by events like commits to a repository or branch, making it ideal for builds, tests, and related pipelines. In contrast, GitOps (which focuses on CD) operates asynchronously. Tools like Argo CD remain independent of CI activities, focusing solely on the declared source of truth (e.g., Git or Helm) and acting only when changes to the desired state are detected.
In this chapter, we will focus on how to best integrate Argo CD with a CI system to effectively make use of the strength of each process.
Reconciliation Response Time
Argo CD adheres to OpenGitOps’ third principle, “Pulled automatically,” by leveraging a reconciliation loop to continuously monitor and synchronize with the source of truth (in this chapter, Git will be the focus). This approach operates independently of event-driven mechanisms, such as webhook-triggered deployments. By default, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access