CI/CD
by Des Drury
1. NEXT
1.1. Metrics
1.1.1. Load generation
1.2. Logging
2. Example App
2.1. Ghost
2.2. Postresql
2.3. Socks App by Weaveworks
3. Git Repo
3.1. Jenkinsfile
3.2. Example app
4. Diagrams
4.1. App architecture
4.2. CI/CD solution architecture
5. Reference for writing the course
5.1. Set Up a CI/CD Pipeline with Kubernetes Part 1: Overview
5.2. Set Up a CI/CD Pipeline with a Jenkins Pod in Kubernetes (Part 2)
5.3. Run and Scale a Distributed Crossword Puzzle App with CI/CD on Kubernetes (Part 3)
5.4. Set Up CI/CD for a Distributed Crossword Puzzle App on Kubernetes (Part 4)
5.5. CI/CD Git Repo
5.6. Hyper Docker Registry UI
6. Reference provided by course
6.1. Jenkins Declarative DSL
6.2. Blueocean
6.3. Helm docs
7. Definitions
7.1. CI
7.2. CD
8. S3 Bucket
8.1. Videos
8.2. binaries
9. k8s Clusters
9.1. Minikube
9.2. Kops
10. Components
10.1. Jenkins
10.1.1. Dynamic build agents
10.1.2. Specialised build agents
10.1.3. Blue Ocean
10.1.4. Pipleline DSL
10.1.5. ChatOps [stretch]
10.1.6. TLS [stretch]
10.2. Slack [stretch]
10.3. Image registry
10.3.1. Dockerhub
10.4. Github
10.4.1. For the app code
10.5. Client
10.5.1. Minikube
10.5.1.1. For Docker
10.5.2. kubectl
10.5.3. Helm
10.5.3.1. Install Jenkins Chart using values.yaml
10.6. Ingress controller
10.6.1. Internal
10.6.2. External
10.6.2.1. Lego [stretch]
10.6.3. Different namespaces
11. Purpose
11.1. That after this you have a solution you can use within your company
12. Steps
12.1. Install client tools
12.2. Install Cluster
12.2.1. Using Kops Faststart
12.2.2. Using Minikube Faststart
12.3. Initilise Helm
12.4. Setup Slack [stretch]
12.5. Fork example app repo
12.5.1. Jenkinsfile using Declarative DSL
12.6. Install Jenkins and Registry
12.6.1. Jenkins dynamic build agents
12.6.2. Blueocean
12.6.3. Multibranch Pipeline Job for example app
12.6.3.1. Dev branch publishes to internal ingress
12.6.3.2. Master branch publishes to external ingress