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

Cloud Native Development - Openshift Pipelines

Cloud Native Development - Openshift Pipelines

Cloud-Native Development - Openshift Pipelines

Pooja Mistry

April 14, 2021

More Decks by Pooja Mistry

Other Decks in Technology


  1. Cloud Native Development Getting Started with OpenShift Pipelines Pooja -

    IBM, Developer Advocate Balaji - Infosys, Principal, Education Training and Assessment
  2. Cloud native development is about how apps are built and

    deployed 12 Factor is a methodology for building software Infosys and IBM have world class experience in cloud native development OpenShift is the most ideal platform for application deployment
  3. Cloud Native Building Blocks 6 Microservices Automated DevOps Containers Results

    in a lightweight, modular, highly automated approach
  4. Codebase Dependencies Configuration Backing Services Build Release Run Stateless Processes

    Port Binding Concurrency Disposability Dev Prod Parity Logs Admin Processes 12 Factors
  5. Local Dev/Text Release Deploy Operate Measure Plan Code Build Test

    Enterprise Grade Software Development Life Cycle (SDLC) CI CD Jenkins (Build) Zenhub (Project mgmt) Image Registry (Container Images) (Store assets and dependencies) (Analyze and test code) CodeReady Workspaces (Web IDE) Swagger Editor (API validation & documentation) Kubernetes Pact Testing (Test microservice contracts) Sysdig (View metrics and alerts) LogDNA (View logs) Argo CD (CD Release) NPS Jaeger (Container Images) Knative Tekton (Build pipeline) (Helpdesk) PagerDuty IBM Hyper Protect Services (Code signing, Keep your own key - KYOK) Deploy to Clusters or Serverless Github (Source code mgmt) IBM Key Protect (Certificate APIs for code signing) 8 IBM Cloud / © 2020 IBM Corporation
  6. Lab

  7. • Open source governed by Continuous Delivery Foundation • Contributors

    from IBM, Google, Red Hat, and more • Cloud-native built upon Kubernetes • Pipelines, Tasks, PipelineRuns, etc. are CRDs • Formerly known as “Knative Build” and “Knative build- pipelines” • Parallel workflows, triggers, every step isolated in a container, etc. • Pipeline-as-code (yaml) • Pipeline portability across clouds and vendors • Trigger on Git commits, pull (merge) requests, webhook, manually, or specific times. • Fostering ecosystem of common pipelines and tasks, e.g. tool integrations, compliance process https://tekton.dev Tekton 10 IBM Cloud / © 2020 IBM Corporation
  8. Tekton Concept: Step • The smallest building block • Specify

    images, commands, arguments • Is a container steps: - name: echo image: ubuntu command: - echo args: - "hello world"
  9. Tekton CRD: Task • New CRD • Sequence of Steps

    • Run in sequential order • Reusable • Perform a specific task • Runs on the same k8s node apiVersion: tekton.dev/v1alpha1 kind: Task metadata: name: echo-hello-world spec: steps: - name: echo image: ubuntu command: - echo args: - "hello world"
  10. Tekton CRD: Pipeline • Expresses Tasks • Sequentially • Concurrently

    • Links input and output • Execute Tasks on different nodes apiVersion: tekton.dev/v1alpha1 kind: Pipeline metadata: name: tutorial-pipeline spec: - name: build-app taskRef: name: build-push resources: outputs: - name: image resource: my-image - name: deploy-app taskRef: name: deploy-kubectl resources: inputs: - name: image resource: my-image from: - build-app
  11. Tekton Runtime CRDs • Instances of Pipelines and Tasks: •

    PipelineRun • TaskRun • Runtime info such as registry information and git repo apiVersion: tekton.dev/v1alpha1 kind: PipelineRun metadata: name: tutorial-pipeline-run-1 spec: serviceAccountName: tutorial-service pipelineRef: name: tutorial-pipeline resources: - name: source-repo resourceRef: name: skaffold-git - name: web-image resourceRef: name: skaffold-image-leeroy-web
  12. Putting it all together Linting Unit tests Setup test environment

    Build images Run integration tests Run end to end tests Publish images Deploy Pipeline Task Task Task Task Task Task Task Step Step Step Step Step Step Step Step Step
  13. • Cloud-Native Toolkit Guide • Cloud Native Bootcamp • All

    new Building Cloud Native and Multicloud Applications course now available • Microservices for beginners • Red Hat OpenShift on IBM Cloud • Getting Started with Containers Resources
  14. 22