- At Korean Developers Conference
- Jenkins vs Jenkis X
- Jenkins
- Jenkins X
- Jenkins X - What we do
- What are the new changes?
- What are the new challenges?
- Started by James Strachan
- Started by James Strachan
- Started by James Strachan
- Started by James Strachan
- Features of Jenkins X
- Supported Cloud Providers
- How does Jenkins X help?
- How does Jenkins X help?
- Helm Chart
- Kubernetes Console
- Jenkins UI
- Jenkins Blue Ocean UI
- Jenkins Blue Ocean UI
- Nexus UI
- Monocular UI
- How does Jenkins X help?
- Import Maven Project
- Import Maven Project
- Dockerfile
- Jenkinsfile
- Draft Build Packs
- Draft Build Packs
- Environment Promotion via GitOps
- jx get environments
- Demo & Environment Git Repository
- jx get applications
- jx get previews
- Environments in Kubernetes
- jx Overview
- How do we setup Kubernetes + Jenkins X?
- How do we setup Kubernetes + Jenkins X?
- How do we setup Kubernetes + Jenkins X?
- Create Cluster GKE
- Create Cluster GKE
- VSCode Jenkins X Extension
- VSCode Jenkins X Extension
- Demo
- Demo - Deploy Spring Boot app
- Demo - Deploy Spring Boot app
- Demo - Deploy Spring Boot app
- Demo - Deploy Spring Boot app
- Demo - Jenkins X on Pull Request
- Demo - Jenkins X on Pull Request
- Demo - Jenkins X promotion via GitOps
- Jenkins X Slack
- Jenkins X Slack
- Jenkins X Roadmap
- Try it out!
- Special Thanks to
- Thank you
- Sources & References
- Sources & References
- Sources & References
automated CI/CD solution for cloud native applications on Kubernetes
JBUG Korea
@tedwon
Saturday, 17th November, 2018
-
Move from on premise to cloud
-
Move from BareMetal/VMs to containers
-
Kubernetes has become the defacto standard
-
Move from monoliths to microservices
-
Become high performing teams via CI/CD
-
How do I migrate my applications to the cloud?
-
How do dev teams work with Kubernetes?
-
What do I need to start developing, building and deploying?
-
How can I see my applications log?
-
Released at March of this year, 2018
-
Founder of Groovy, Apache ActiveMQ/Camel
-
Developed similar project in Red Hat until last year, 2017
-
gofabric8
-
Automated CI and CD
-
Environment Promotion via GitOps
-
Pull Request Preview Environments
-
Feedback on Issues and Pull Requests
Note
|
|
-
Google Container Engine
-
Red Hat OpenShift
-
Amazon Elastic Container Service
-
Azure Container Service
-
IBM Cloud Kubernetes Service
-
Oracle Cloud Container Engine
-
minikube, minishift
Note
|
|
-
Jenkins
-
CI/CD pipeline solution
-
-
Nexus
-
Artifact repository
-
-
-
Package manager for Kubernetes
-
-
Chartmuseum
-
Helm Chart repository
-
-
Monocular
-
Web UI for helm charts
-
-
-
Build packs to bootstrap applications
-
-
Skaffold
-
Tool for building docker images on kubernetes
-
Note
|
|
-
Helm Chart is a packaging format.
-
A chart is a collection of files that describe a related set of Kubernetes resources.
~/demo/charts/demo(master) » tree . . ├── Chart.yaml ├── Makefile ├── README.md ├── charts ├── templates │ ├── NOTES.txt │ ├── _helpers.tpl │ ├── deployment.yaml │ └── service.yaml └── values.yaml
jx open jenkins http://jenkins.jx.x.x.x.x.nip.io jenkins-x-chartmuseum http://chartmuseum.jx.x.x.x.x.nip.io jenkins-x-docker-registry http://docker-registry.jx.x.x.x.x.nip. jenkins-x-monocular-ui http://monocular.jx.x.x.x.x.nip.io nexus http://nexus.jx.x.x.x.x.nip.io
jx env ? Pick environment: [Use arrows to move, type to filter] > dev production staging
-
Development Environment
-
Staging Environment
-
Production Environment
-
Install the jx command line tool
macOs: brew tap jenkins-x/jx brew install jx linux: curl -L https://github.com/jenkins-x/jx/releases/download/v1.3.467/jx-darwin-amd64.tar.gz | tar xzv sudo mv jx /usr/local/bin
-
If using the public cloud use:
jx create cluster aws
jx create cluster gke
jx create cluster aks
-
If you have a cluster already - ensure RBAC enabled then:
jx install --provider=openshift
Google Container Engine $300 free credit
-
Creating GKE Kubernetes cluster with Jenkins X
-
Creating Spring Boot app
-
Creating code change
-
Promoting to Production
-
Create Cluster GKE Record:
-
Record: https://asciinema.org/a/210872
-
Automatically set up CI/CD pipelines for new + imported projects
-
Setups up git repository
-
Adds webhooks on git to trigger Jenkins pipelines on PR / master
-
Triggers the first pipeline
jx create issue -t 'add a homepage' git checkout -b wip vi src/main/resources/static/index.html git add src git commit -a -m 'add a homepage fixes #1' git push origin wip jx create pullrequest -t "add a homepage fixes #1" jx get preview
-
Creates preview docker image + helm chart
-
Creates a Preview Environment and comments on the PR with the link
#jenkins-x-user
Jungho Cha <jcha@redhat.com>