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

Introduction to Jenkins X

Oscar Medina
December 04, 2019

Introduction to Jenkins X

If you've been to tech conferences, you probably have noticed that most talks are for advanced users. This is especially the case when talking about #kubernetes.

We need to focus on folks that have not heard or ever touched modern frameworks or technologies. Not everyone knows or is an expert with Helm, Draft, Chartmuseum, Prow, Lighthouse, Docker, Kubernetes, and many other open-source tools.

Yes, these people exist and many times are ignored as an audience at large conferences.

This week at DevOps World | Jenkins World in Lisbon, I wanted to introduce folks to Jenkins X in the simplest way. It was amazing to see just how many people attended and asked questions. Thank you to all of those who attended!

Originally from DevOps World | Jenkins World 2019 - Lisbon, Portugal
Oscar Medina and Andrew Bayer
https://sched.co/VFHj

Oscar Medina

December 04, 2019
Tweet

Other Decks in Technology

Transcript

  1. © 2019 All Rights Reserved. 2 Presenters @SharePointOscar Developer Advocate

    Jenkins X @ABayer Principal Software Engineer CloudBees
  2. © 2019 All Rights Reserved. 4 What is Jenkins X?

    First, Jenkins X is NOT Jenkins
  3. © 2019 All Rights Reserved. 5 What is Jenkins X?

    Completely new codebase Zero code from Jenkins project Entirely different architecture Solving different problems, in different ways
  4. © 2019 All Rights Reserved. 6 What is Jenkins X?

    Jenkins X is Jenkins’ spiritual counterpart for the cloud-native world The concept of pipelines and extensibility is what they have in common. That is it!
  5. © 2019 All Rights Reserved. 7 What is Jenkins X?

    Initially Jenkins X used static Jenkins masters to power its pipelines. That is no longer the case...
  6. © 2019 All Rights Reserved. 8 What is Jenkins X?

    Today Tekton is the pipeline engine behind the scenes in Jenkins X
  7. © 2019 All Rights Reserved. 9 What is Jenkins X?

    Jenkins X is an opinionated cloud native CI/CD platform for Kubernetes
  8. © 2019 All Rights Reserved. 1 1 Jenkins X Capabilities

    Install via CLI # create a k8s cluster in GKE, skip Jenkins X install >$ jx create cluster gke \ --skip-installation Create k8s cluster
  9. © 2019 All Rights Reserved. 1 2 Jenkins X Capabilities

    Install via CLI # install Jenkins X using jx boot # based on the values of jx-requirements.yaml file >$ jx boot Install using JX Boot
  10. © 2019 All Rights Reserved. 13 Jenkins X Capabilities jx-requirements.yaml

    autoUpdate: enabled: false schedule: "" bootConfigURL: https://github.com/cloudbees/cloudbees-jenkin s-x-boot-config.git cluster: azure: {} clusterName: coolboot environmentGitOwner: jenkins-oscar environmentGitPublic: true gitKind: github gitName: github gitServer: https://github.com namespace: jx project: jx-development provider: gke registry: gcr.io zone: us-west1-a environments: - ingress:
  11. © 2019 All Rights Reserved. 14 Jenkins X Capabilities Supported

    Git Providers • GitHub • GitHub Enterprise (Preview) • GitLab (Preview) • BitBucket Server (Preview)
  12. © 2019 All Rights Reserved. 16 Jenkins X Capabilities Creating

    a QuickStart # create a quickstart for a nodejs app >$ jx create quickstart \ --language=javascript --name=carsweb
  13. © 2019 All Rights Reserved. 17 Jenkins X Capabilities Import

    an existing app from source ctrl # import an existing app from github >$ jx import \ --url https://github.com/jenkins-oscar/skiapp.git
  14. © 2019 All Rights Reserved. 18 Jenkins X Capabilities add

    a Helm Chart (stable repo) as an app # import an existing app from public helm chart repository >$ jx add app mongodb \ --repository= https://kubernetes-charts.storage.googleapis.com \ --version=7.4.6 --namespace=staging --alias=salesmongodb
  15. © 2019 All Rights Reserved. 19 Jenkins X Capabilities Build

    Packs • We give you canned Pipelines for many scenarios • We use Draft for language detection auto-select build pack • You can extend and modify on top of the build pack A quickstart for your pipeline or pipeline template
  16. © 2019 All Rights Reserved. 20 Jenkins X Capabilities Pipelines

    in Jenkins X • Pipelines are declarative (YAML) • Each stage runs on its own ephemeral pod • PR vs. Release Pipelines • Dozens of pre-configured builder images
  17. © 2019 All Rights Reserved. 21 Jenkins X Capabilities Triggering

    Pipelines • Prow / Lighthouse • Via ChatOps PR comment “/test this” or “/approve” • GitHub Statuses Triggered via different events
  18. © 2019 All Rights Reserved. 22 Jenkins X Capabilities Monitor

    Pipelines Several methods to monitor Pipeline activity # get build logs for a pipeline >$ jx get build logs # get pipeline activity for an app >$ jx get activity -f appname The Jenkins X UI
  19. © 2019 All Rights Reserved. 23 Jenkins X Capabilities Monitor

    Pipelines Install the UI # Install the UI >$ jx add app jx-app-ui --version=0.1.26 # Launch UI in browser >$ jx ui -p 9845
  20. © 2019 All Rights Reserved. 24 Jenkins X Capabilities Monitor

    Pipelines The Jenkins X UI Projects Page
  21. © 2019 All Rights Reserved. 26 Jenkins X Capabilities Monitor

    Pipelines The Jenkins X UI Build Log Page
  22. © 2019 All Rights Reserved. 27 Jenkins X Capabilities Monitor

    Pipelines The Jenkins X UI Environments Page
  23. © 2019 All Rights Reserved. 28 Jenkins X Capabilities Preview

    Environments PMs, Designers view app changes in temporary live environment
  24. © 2019 All Rights Reserved. 29 Jenkins X Capabilities ChatOps

    ( Preview Env Built) Prow / Lighthouse listens to Git Webhooks.
  25. © 2019 All Rights Reserved. 30 Jenkins X Capabilities ChatOps

    (commands) Commands like: /approve /lgtm /test this
  26. © 2019 All Rights Reserved. 31 Jenkins X Capabilities GitOps

    GitOps is an iteration of a DevOps process designed for cloud native with a focus on Kubernetes • Source Control is “Single Source of Truth” • Env changes via PR trigger pipelines to execute changes • Jenkins X uses GitOps to manage itself • Recover easily from disaster
  27. © 2019 All Rights Reserved. 32 Jenkins X Capabilities Serverless

    Deployments Scale apps based on actual usage, scale down when not used.
  28. © 2019 All Rights Reserved. 33 Next Steps Kubernetes Workspace

    #jenkins-x-user #jenkins-x-dev @jenkinsxio Subscribe Jenkins X Newsletter: Twitter: Slack: jenkins-x.io Web: CloudBees Jenkins X Distribution: