 Hey, my name is Cedric Clavern. I'm an intern on the Red Hat OpenShift Developer Advocate team. I'd love to explain how you can get started using Tecton. So what is Tecton, you might ask? Well, Tecton is a Kubernetes native open-source framework for creating continuous integration and delivery systems. So what we're going to do today is essentially set up Tecton on a local Kubernetes cluster. We're going to create our first task, add some parameters, and even create our own pipeline. Tecton pipelines are interesting because they're decoupled, meaning one pipeline can be used to deploy to any Kubernetes cluster and each task can be run in isolation. Before we begin though, there's a few things you need to get started. Firstly, since Tecton is cloud native, you're going to need a Kubernetes cluster. Thus, I'll be using Minicube today for this demo. Feel free to use OpenShift, however, or any Kubernetes cluster. In addition, we'll also need to install the command line interface for interacting with Tecton, also known as TKN. And that can be installed through GitHub, Homebrew, or a Linux tarball. Here you can see my awesome Minicube environment that's already ready to work with. In order to install Tecton, however, we need to apply the YAML from the latest release. We can see the progress of our install by watching the pods in the new Tecton namespace with kube-ctl-gitpods define that namespace with Tecton pipelines. And once that install is complete, you'll notice two new pods that you'll be running tasks inside. In addition, we here on the OpenShift Developer Advocate team have created a repository to help you get started with Tecton. I'll quickly clone this repo into my local directory and CD into that new folder. Feel free to do the same thing. Let's start with the most basic component of pipelines, a task. So, tasks happen inside of a pod and can be used to perform various CI or CD operations like, say, compiling application or running unit test. Let's open a test file from this demo located in the demo folder with the name of hello.yaml. Feel free to open it in any text editor, but I'm using Vim at the moment. Visual Studio works great, too, and we've got a sweet extension for Tecton pipelines. Awesome! We can see the first hello task, which uses a Red Hat Universal base image to simply echo hello world. Now, let's keep on moving and add this task to our cluster similar to any other, say, Kubernetes object. Once that's added, we can run our first Tecton CLI command, which will be Tecton Task LS, which will essentially list all of our current Tecton tasks. Once we're ready, though, let's run it with the command TKN Task Start, and let's have that log showing. After a bit of time, we'll actually see the output of our hello task in the console. That's awesome! Great work! Now, let's get a little bit more in-depth by passing some parameters to our task, such as flags or anything else. Above the steps, let's add a parameter, which is abbreviated to params, and create a person. Now, let's extend this task with a new parameter. For this example, we can use the name of person, a description of, say, the name of person to greet, a default value of world, and a type of parameter should be a string when we ask for it. Finally, let's use this new parameter in the echo function by calling it in the args line. Feel free to save this file, but I'll go ahead and apply the pre-made YAML file, included in our repository to the cluster with the apply command. Then, start the task from the Tecton CLI. You'll be asked to specify the name of the person to greet, and you can see that action output directly in the console. Looks awesome! Good work! So, now that you understand task and parameters, let's dive into what a pipeline really is. Say, in a real-world situation, you'll have more than just one task to run, and a pipeline will help you accomplish just that. With this example task file, which is task.yaml in the demo, you'll notice we have two different parameters in one step. So, the first one is to pause using the pause duration parameter, and the second is to say something using the say what parameter. Now, when we check the example pipeline, which is pipeline.yaml in the demo, we can see two individual tasks, which is what we define as a pipeline. Now, let's apply the task to this new pipeline in our cluster and officially start this pipeline. Using TKN Pipeline Start, we'll create a pipeline run with a random name. In addition, you can see the logs on this pipeline by using the show log parameter. So, you'll notice that our second task actually occurred first, and it's kind of weird, but that's because Tecton will naturally start all the tasks simultaneously. The last thing I'd like to cover in this demo today is how to run tasks in parallel or sequentially. So, in order to make a task run after another one, you can use a run after parameter in the task definition of our pipeline. So, let's open up pipelineorder.yaml, the file in our demo folder, and understand how we can order our tasks. Firstly, notice the parameters of the second task. It includes a run after parameter that links to our first task, meaning that it won't be ran until the first task has been completed. This is great for real-world scenarios and situations where you have to run something beforehand. Thanks so much for watching. If you're interested or have questions about this video, please feel free to head over to developer.redhat.com, where we have plenty of resources to help you learn about Kubernetes, Tecton, and Red Hat OpenShift. Thanks, and have a good one. See you next time.