Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hands-On Intro to Cloud-Native CI/CD with Tekton - KubeCon EU 2020

Hands-On Intro to Cloud-Native CI/CD with Tekton - KubeCon EU 2020

This hands-on tutorial introduces the key concepts of Tekton, a flexible, Kubernetes-native CI/CD framework that enables the automation of deployments across multiple platforms - including Kubernetes, serverless, and VMs - by abstracting away the underlying details.

In this tutorial, participants will:

- Learn about fundamental Tekton concepts and benefits and how to use the tkn CLI
- Install tasks and learn about task catalogs
- Create a pipeline for building, testing, and deploying an application on Kubernetes
- Add pipeline resources
- Trigger a pipelinerun
- Deploy the application using a pipelinerun

Pre-requisites:
Install the following prior to the tutorial:
minikube:https://kubernetes.io/docs/tasks/tools/install-minikube/ (Kubernetes v1.16 or higher)
tkn CLI: https://github.com/tektoncd/cli
(optional) VS Code Tekton extension: https://marketplace.visualstudio.com/items?itemName=redhat.vscode-tekton-pipelines

Jan Kleinert

August 17, 2020
Tweet

More Decks by Jan Kleinert

Other Decks in Technology

Transcript

  1. Pre-Reqs
    Minikube: https://bit.ly/get-minikube
    --or--
    K8s Playground: https://bit.ly/k8s-playground
    tkn: https://bit.ly/get-tkn
    (optional) VS Code extension:
    https://bit.ly/vscode-tekton

    View Slide

  2. Presented by Joel Lord & Jan Kleinert
    Hands-On Intro to Cloud-Native
    CI/CD with Tekton

    View Slide

  3. Hello!
    Joel Lord
    @joel__lord
    Jan Kleinert
    @jankleinert

    View Slide

  4. What is CI/CD?

    View Slide

  5. CI/CD
    CI/CD introduces ongoing automation and continuous
    monitoring throughout the lifecycle of apps, from
    integration and testing phases to delivery and
    deployment.
    https://www.redhat.com/en/topics/devops/what-is-ci-cd

    View Slide

  6. CI/CD
    https://www.redhat.com/en/topics/devops/what-is-ci-cd

    View Slide

  7. What is Cloud-Native CI/CD?
    Designed with microservices
    and distributed teams in mind
    Containers
    Built for container apps and
    runs on Kubernetes
    Serverless
    Runs serverless with no CI/CD
    engine to manage and maintain
    DevOps

    View Slide

  8. CI/CD
    http://cd.foundation

    View Slide

  9. Tekton
    http://tekton.dev

    View Slide

  10. Tekton
    Declarative
    Composable
    Cloud Native
    Reproducible

    View Slide

  11. Tekton Building Blocks

    View Slide

  12. Steps, Tasks, and Pipelines
    https://tekton.dev/docs/concepts/

    View Slide

  13. Input and Output Resources
    https://tekton.dev/docs/concepts/

    View Slide

  14. TaskRuns and PipelineRuns
    https://tekton.dev/docs/concepts/

    View Slide

  15. PIPELINE
    RUN
    PIPELINE
    Tekton Pipeline Example
    Build JAR
    Code
    analysis
    Build app
    image
    Deploy to
    DEV cluster
    Integration
    Tests
    Deploy to
    STAGE cluster
    Container
    Registry
    git url registry url
    dev cluster
    cred
    stage cluster
    cred
    DEV
    Cluster
    TASK
    PIPELINE
    RESOURCE
    STAGE
    Cluster

    View Slide

  16. Hands-On Tutorial

    View Slide

  17. Hands-On Tutorial
    https://github.com/joellord/handson-tekton

    View Slide

  18. View Slide