End-to-End Continuous Delivery on Kubernetes
In the last years there has been a huge change in how we build, deploy and run software with the rise of Microservices, Containers, Kubernetes, and Continuous Delivery. As a result we all need to get better at continuously delivering business value to our customers with a cloud native strategy – but how?
This workshop will introduce the attendees to an innovative open source project, Jenkins X which is a CI/CD Ecosystem for Kubernetes built around Jenkins.
After a comprehensive introduction we will show how to start developing containerized Java Microservices on Kubernetes:
- Easily setup a Jenkins based CI/CD system on the cloud or Minikube.
- Quickly get started developing with automated import of existing projects.
- Use Pull Requests to trigger CI.
- Preview Environments for Pull Requests.
- Manual approval to Production.
- Automated provisioning of environments via Helm Charts and GitOps.
After this workshop attendees will be able to develop effectively in a cloud native way in any language on any kubernetes cluster!
Let’s all be truly Agile! Finally!
- Introduction about Kubernetes and Jenkins X.
- Install JX Command line tool.
- Start Minikube VM with appropriate configs.
- Familiarize a bit with the JX cli.
- Install JX on the Kubernetes cluster.
- Explore the JX Ecosystem on Kubernetes.
- Explore the Staging and Production Environments.
- Explore VS Code and the JX and Kubernetes extensions.
- Creating a new Project (Spring Boot, NodeJs, Golang).
- Explore the created Repository on GitHub.
- Analyse the CD Pipeline.
- Analyse the Dockerfile and the Helm Chart for Deployment on Kubernetes.
- Pushing some changes on a feature branch and analyse the Preview Environment.
- Analysing promotion with GitOps.
- Analyse of the generated Release and Tags.
- Manual promotion to production.
- Developing on the Cloud with DevPods.
- Have some fun with it!
The goal of the workshop will be to introduce the participant to cloud native development with Open Source technologies and the concepts of continuous delivery on top of Kubernetes.
Moreover we would like to introduce them to the concept of GitOps, where configuration and infrastructure is defined in a declarative way on Git, triggering CI Pipelines to upgrade the cluster status.
The receivers should be ideally Software Developers and DevOps engineers.
- Basics of Git and Bash.
- Basic understanding of Containers.
- Basics of Continuous Integration and Continuous Delivery.
- Programming experience.
- Basics of Kubernetes would be a plus.
- Unix based machine is highly suggested, Windows users might have some problems.
- Willingness to learn and open attitude
- Unix based machine, Windows users are suggested to create a Linux Virtual Machine.
- Create a GitHub account if not yet available.
- Install a Package manager like brew, apt, yum.
- Install the Kubectl cli.
- Install VirtualBox.
- Install Minikube.
- Install the Git cli and/or a GUI Client.
- Install Visual Studio Code and the Kubernetes and JX Extensions.
The workshop will be held in English.
- Internet connection, ideally better with Tethering using a Smartphone, since the WiFi might get overloaded.
Paolo CartaPC Solid Consulting
Born and grown in the beautiful Sardinia in Italy, I moved to Zurich to complete my studies at the ETH (Swiss Federal Institute of Technology). After working on delay tolerant networks with Android devices I focused more on Web development and scalable and resilient software architectures on the cloud. Currently working as a Freelancer at Interdiscount, the market leader for electronics in Switzerland.
Matteo BaiguiniMB Solid Consulting
I was born in Milan, where I studied Computer Sciences at the University of Milano-Bicocca and started working on the eCommerce field with the SAP hybris platform. I moved to Zurich at the end of 2015, always working on eCommerce on SAP hybris and moving steps toward cloud-native architectures. Currently I work as Freelancer Software architect at Interdiscount, developing a innovative cloud-native event-driven eCommerce platform.