Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy ›...

32
Jenkins-X CI/CD in wolkigen Umgebungen Simon Kienzler, Johannes M. Scheuermann Wiesbaden, 29. April 2019

Transcript of Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy ›...

Page 1: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

Jenkins-XCI/CD in wolkigen Umgebungen

Simon Kienzler,Johannes M. Scheuermann

Wiesbaden, 29. April 2019

Page 2: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

• Officially: Cloud Platform Engineer• Unofficially: Chaos Monkey

Johannes M. Scheuermann

• Bachelor thesis on automated deployments• Currently exploring the k8s eco-system

2

Macht Dinge mit der Cloud

Automatisiert gerne Prozesse

Simon Kienzler

Page 3: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

3

Page 4: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

› What is Jenkins-X ?

› How does it work ?

› Recap

› Q & A

Agenda

4

Page 5: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

5

Page 6: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

What is Jenkins X?

6

{ }

Page 7: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

7

“Jenkins X is a swiss-army knife”

James Strachan

Page 8: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

8

Serverless vs. Classic

Page 9: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

How does it work?

9

Page 10: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

CLI: jx

10

How does it (actually) work?

Page 11: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

11

Architecture (classic)

Page 12: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

12

Architecture (serverless)

Page 13: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

Cluster

› RBAC› Default Storage Class› Insecure Docker images (in-cluster Registry)› 4 vCPUs

Client

› kubectl› helm› Cloud Provider CLI

Requirements

13

Page 14: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

› Jenkins-X has built-in support for sonobouy› Runs conformance test› Show results› Should be executed at least once

Validate your cluster

14

Page 15: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

Installation (serverless)

15

Bootstrap Cluster

Create Namespace

jx

(optional) Install Tiller

Setup Ingress

Controller

Configure Git repo

Create admin secrets

Clone Cloud env repo Jenkins-X

Nexus ChartMuseum Monocular Prow

Tekton CD

Page 16: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

CLI: jx create quickstart

16

Create a new application

Page 17: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

CLI: jx import

17

Import an application

Page 18: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

Promotion

18

Page 19: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

› Development Environment per team (namespace)› zero or more permanent Environments

› Staging› Production

› Optional Preview Environments› Service Linking from preview namespaces is possible› Addon support

Jenkins X - Components

19

Page 20: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

20

Jenkins-X Pipelines

Page 21: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

(Kubernetes)Deck

21

Page 22: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

CI/CD “ChatOps”

22

Page 23: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

CI/CD “ChatOps”

23

Page 24: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

Important things first!

24

Page 25: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

25

Recap

Page 26: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

› IDE integration (VS Code, Intellij, Theia)› Dev Pods (develop in the cloud)

› https://github.com/jenkins-x/jx/issues/3524 › Supports multiple Git Servers

› GitHub, Gitlab, BitBucket, ...› Issue Tracker integration› Anchore CV scanner› Serverless Addon (gloo and Knative)› CRD’s are the super-glue› https://cdconference.io/

Nice to know

26

Page 27: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

› You can’t delete a cluster :)› Everything is unencrypted per default (no TLS)!› Versions are pinned› Instable

Limitations

27

Page 28: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

› Very early stage› Many moving parts› Pretty complex with all the magic in the background› Documentation only covers simple steps› (theoretically) less management overhead › Open Community (Office hours)

Should I use it ?

28

Page 29: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

29

Q/A

Page 30: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

Vielen Dank

Johannes M. Scheuermann

Simon Kienzler

inovex GmbHLudwig-Erhard-Allee 676131 Karlsruhe

Page 31: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

● https://www.pexels.com/photo/sea-boat-ship-high-dynamic-range-15810/ ● https://jenkins.io/images/logos/jenkins-x/jenkins-x.png ● https://github.com/kubernetes/test-infra/raw/master/prow/logo_horizontal_solid.png ● https://raw.githubusercontent.com/GoogleContainerTools/skaffold/master/logo/skaffold.png ● https://github.com/Azure/draft/raw/master/docs/img/draft-logo.png● https://docs.sonatype.com/download/attachments/14155777/global.logo?version=3&modifica

tionDate=1367027697643&api=v2 ● https://raw.githubusercontent.com/helm/helm-www/master/themes/helm/static/src/img/apple

-touch-icon.png ● https://github.com/helm/chartmuseum/raw/master/logo2.png ● https://partsolutions.com/wp-content/uploads/2014/01/Worlds_largest_Swiss_Army_knife_we

nger_giant_knife.jpg● http://www.quickmeme.com/img/1e/1e316e8b30384c27aa347055973c419a658e6673e630d

193304482261ef5de28.jpg ● https://www.pexels.com/photo/ball-ball-shaped-blur-color-235615/ ● https://www.pexels.com/photo/shallow-focus-photography-of-water-drop-surrounded-by-plan

ts-963044/

Images

31

Page 32: Jenkins-X CI/CD in wolkigen Umgebungen - inovex...Jenkins-X has built-in support for sonobouy › Runs conformance test › Show results › Should be executed at least once Validate

● https://cd.foundation

● https://jenkins-x.io/documentation/

Further reading

32