Learning Library

← Back to Library

Unified CI/CD with Tekton & Argo CD

Key Points

  • Tekton (referred to as “tecton”) provides reusable tasks and pipelines that automate the CI/CD workflow, handling steps like cloning repos, testing, building, and pushing Docker images.
  • Argo CD operates on a pull‑based, declarative model: it continuously watches a Git repository for YAML manifests and syncs the desired state to a target Kubernetes cluster.
  • By combining Tekton’s push‑based image build pipeline with Argo CD’s Git‑driven deployment sync, you get an end‑to‑end GitOps workflow where the Git repo serves as the single source of truth for production.
  • This approach reduces manual steps, ensures the live cluster always matches the declared configuration, and streamlines collaboration between developers and operations teams.

Full Transcript

# Unified CI/CD with Tekton & Argo CD **Source:** [https://www.youtube.com/watch?v=nOtxRNQAKXA](https://www.youtube.com/watch?v=nOtxRNQAKXA) **Duration:** 00:05:50 ## Summary - Tekton (referred to as “tecton”) provides reusable tasks and pipelines that automate the CI/CD workflow, handling steps like cloning repos, testing, building, and pushing Docker images. - Argo CD operates on a pull‑based, declarative model: it continuously watches a Git repository for YAML manifests and syncs the desired state to a target Kubernetes cluster. - By combining Tekton’s push‑based image build pipeline with Argo CD’s Git‑driven deployment sync, you get an end‑to‑end GitOps workflow where the Git repo serves as the single source of truth for production. - This approach reduces manual steps, ensures the live cluster always matches the declared configuration, and streamlines collaboration between developers and operations teams. ## Sections - [00:00:00](https://www.youtube.com/watch?v=nOtxRNQAKXA&t=0s) **Integrating Tekton with Argo CD** - Brad explains how Tekton’s push‑based CI/CD pipelines combine with Argo CD’s pull‑based, declarative GitOps model to automate and streamline code deployments to Kubernetes production environments. ## Full Transcript
0:00welcome to Tech talk today's topic is 0:02get Ops the single source of Truth for 0:05deploying your code to production a 0:07kubernetes environment and today I'm 0:09joined by Brad tobel who's going to 0:11explain some of the tools that you can 0:12use to make that happen the first of 0:14which is probably familiar to most is 0:16tecton 0:17and the other which Brad is going to 0:19introduce us is called Argo CD could you 0:22explain how these two are going to play 0:24together 0:25absolutely so let's first look at what 0:28tecton gives us if you look at tecton 0:30it's got two main pieces it's got tasks 0:35and pipelines right 0:40and so what happens is we have these 0:42reusable tasks and these are steps like 0:45clone repository run unit tests build 0:48and deploy an image and techton allows 0:50you to take those reusable tasks and 0:52compose them into pipelines and those 0:54pipelines do all the stages of CI CD and 0:57can even deploy to production great okay 0:59so that makes it so you can simplify 1:01your deployments and save a lot of time 1:04not having with manual steps absolutely 1:07okay and so how does Argo come in how 1:08does it help with tecton well the nice 1:11thing about Argo CD is it's a pull-based 1:14model so with tecton it's a push-based 1:16model but Argo CD is one of pull-based 1:19model and it's declarative so just like 1:21kubernetes is declarative you declare 1:24everything 1:25Argo CD allows you to to put your your 1:28yaml files your configuration and a git 1:31repository and declare what you want to 1:34happen and Argo CD so it's gonna 1:38pull things from your repo 1:41right 1:42and then it's also going to have a 1:44little kubernetes cluster 1:49sure okay I got it right so you've got 1:52these two models you can use tecton all 1:56the way up to the step of of building 1:58and deploying an image and putting an 2:00image in a registry and then you can 2:02take all your configuration files put 2:04them in a git repo and all you got to do 2:06with Argo CD is point it at the git repo 2:09and pointed at a kubernetes cluster and 2:12it's going to do the rest so let me play 2:14that back to you see in a tech Don 2:15essentially when I put out my 2:17declarations that's what actually cause 2:19causes the deployment to occur but in 2:21this case you're saying Argo CD is 2:23actually monitoring my declaration 2:25inside the repo itself and then 2:27re-synchronizing it did I get that right 2:28yeah absolutely did it's it's going to 2:30look for what's in that uh the git repo 2:33with your deployment files and it's 2:36going to look with what's running in 2:38production and it's going to make sure 2:40that what runs in production matches the 2:42source of Truth which is what those yaml 2:44files are in that git repository fair 2:47enough but I'm a developer I'm kind of 2:49curious is this something that I need to 2:51be worried about or is that something 2:52that's on the Ops probably is more Ops 2:54focused or is it both 2:56it's really both if you put the two 2:58tools together it's making everyone's 3:00life simpler right so we're doing the 3:02best debris to build up and create and 3:05publish an image and then we're doing 3:07the best of breed of being able to 3:09understand that your git repository is 3:12is a is is a source of Truth and so 3:15um you know being able to do a get Ops 3:17model and it declarative fashion and 3:19what's nice about this is if somebody 3:20comes in and makes changes inside the 3:22cluster Argo CD is going to see those 3:24changes realize that the configuration 3:28is not matching the source of Truth and 3:30it's going to change things it's going 3:32to update the what's running in the 3:34production cluster to ensure it matches 3:36the source of truth I got it so if I 3:38already have an existing deployment 3:39using tecton and I want to introduce 3:41Argo CD what are the steps involved what 3:43do I need to do 3:45so there's not much you need to do so we 3:47need to drop off the last step and this 3:49is really nice the last step would 3:50typically be using Cube control to then 3:52push your application into a kubernetes 3:54cluster and understand with with Cube 3:57control you're going to have to set some 3:58credentials and set up the security so 4:01that you know your automated system has 4:03the authority to publish into the 4:05kubernetes environment you don't have to 4:07do that you don't need to know Cube 4:08control and you don't have to set up 4:09those credentials because what Argo CD 4:12is going to do is it's not going to use 4:13Cube control it's going to look at 4:15what's in the repo and it's going to 4:18pull those configuration files and 4:20understand what it needs to deploy in 4:23the cluster now the one thing you have 4:24to look out for is Largo CD is you 4:27typically have two repos you've got the 4:29repo for the ammo files and the refo for 4:32the source code so the source code of my 4:34actual applications and then for the 4:36infrastructure I have a separate one as 4:37you're saying you've got a separate repo 4:39for the actual source code and a 4:41separate repo for those yaml files that 4:43control the deployment of your 4:44applications okay and so where are the 4:46payoffs for this and I've gone through 4:47this trouble how does it make my life 4:49easier 4:51so how it makes your life easier again 4:54you're not going to have to learn all 4:55those Cube control commands you're not 4:56gonna have to worry about that if 4:58somebody goes into the environment and 5:00make some changes Argo CDs gonna make 5:03sure that those changes are rolled back 5:05and the source of Truth oh you're saying 5:07for example like an operator goes and 5:08accidentally does something thinking 5:10they're going to fix it right that's 5:11right you can sleep well at night 5:13because if that operator who thinks they 5:15know what they're doing goes and makes 5:16some changes Argo CD is going to see 5:19that that's not what in the source of 5:20truth and that's really the best part of 5:22git Ops right is making sure your git 5:24repositories the source of Truth and so 5:27if it's not the source of Truth and they 5:28make some changes it's going to update 5:30what's running in your cluster to match 5:32what's in the git repo I'm all for 5:34sleeping better at night and with that 5:35we're going to go ahead and wrap we've 5:36now told you what it is why it's 5:38important how it works if you'd like to 5:40see more topics for Tech talk be sure 5:43and leave it down in the comments and 5:44please before you leave remember to 5:46subscribe and hit like