Skip to content

Final Submission v1: # Demo Proposal: End-to-End CI/CD (Continuous Deployment) pipeline with Jenkins, ansible, and Kubernetes Minikube - #793

Merged
SophieHYe merged 12 commits into
KTH:masterfrom
georgewbar:master
May 4, 2020
Merged

Final Submission v1: # Demo Proposal: End-to-End CI/CD (Continuous Deployment) pipeline with Jenkins, ansible, and Kubernetes Minikube#793
SophieHYe merged 12 commits into
KTH:masterfrom
georgewbar:master

Conversation

@georgewbar

Copy link
Copy Markdown

Demo Proposal: End-to-End CI/CD (Continuous Deployment) pipeline with Jenkins, ansible, and Kubernetes Minikube

Contributors

Link to the video on Youtube

https://youtu.be/x4JH9VJT9tw

Github repo link

https://github.com/demo-cicd-k8s/datetimeserver_demo_cicd_kubernetes

Description

We will create an End-to-End CI/CD pipeline with Continuous Deployment (Zero-Downtime Deployment) using Jenkins, Ansible and Kubernetes Minikube. The deployed application will be a Java (or Javascript; we are already done with Javascript application to be honest) application that shows the current Date and Time together with the current version of the application to show that a new version of the application was deployed with Zero-Down time.

To be more concrete, we will create a local cluster consisting of one node in a virtual machine on a macOS laptop using Minikube. Moreover, we will use Kubectl to show debugging information. Then, we will create a pipeline (i.e Declarative Pipeline that has some blocks of Scripted pipeline) in Jenkins that is triggered when new code is pushed to Github. This Pipeline will create a Docker image, and build the app and test it, and if it passes all the tests, it will continue to deploy it on the Kubernetes cluster using Ansible playbook that defines a Deployment and a NodePort service to be deployed on the Minikube cluster.

As beginners in Kubernetes, this Demo was difficult because we needed to understand Kubernetes at first, and it took some time to decide which environment to choose to install Kubernetes and then install Kubernetes locally. Then, it took some time to know how to integrate Ansible with Jenkins and Kubernetes.

Criteria that we want to fulfill

  • The demonstration screencast is clearly motivated (why it matters for Devops?).
  • The demonstration screencast is difficult to do.
  • The demonstration screencast is original. -> (Every demo or tutorial does things in other ways, and there is no one way to do things. We mixed things from different references).
  • The demonstration screencast is sublime (eg visually appealing).
  • The demonstration screencast contains an easter egg.
  • An accompanying Github repository has been made (optional).

@SophieHYe
SophieHYe merged commit f47ec9f into KTH:master May 4, 2020
@pojans

pojans commented May 5, 2020

Copy link
Copy Markdown

Feedback:

You have a nice demonstration that is well made and edited and I think you fulfill all the criteria you set out to do.

The things I liked were:
Introduction, you described the importance clearly. Nice imagery that are very descriptive. Good audio quality. Nice editing.

Things I think are pitfalls:
I think the sheer complexity of the topic makes it very hard to condense so much information in 3-5. The pacing in the second half of the video is just too high. I have a hard time following exactly what you are doing without pausing and thinking. Maybe it is just me,

Small things to fix: To increase legibility of the subtitles, have white text with a black background OR at the very least decrease the distance of the text shadow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants